Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

This project assumes that you have completed Project 1. Place several Student objects into a list and shuffle it. Then run the sort method with

This project assumes that you have completed Project 1. Place several Student objects into a list and shuffle it. Then run the sort method with this list and display all of the students information.

Note: The sorted list should be output in the following format

Sorted list of students: Name: Name1 Scores: 0 0 0 0 0 0 0 0 0 0 Name: Name2 Scores: 0 0 0 0 0 0 0 0 0 0 Name: Name3 Scores: 0 0 0 0 0 0 0 0 0 0 Name: Name4 Scores: 0 0 0 0 0 0 0 0 0 0 Name: Name5 Scores: 0 0 0 0 0 0 0 0 0 0 

Hint: Use the print function with a Student object as an argument to print the Student object in the format specified above.

Student.py code - Python 3

class Student(object): """Represents a student."""

def __init__(self, name, number): """All scores are initially 0.""" self.name = name self.scores = [] for count in range(number): self.scores.append(0)

def getName(self): """Returns the student's name.""" return self.name

def setScore(self, i, score): """Resets the ith score, counting from 1.""" self.scores[i - 1] = score

def getScore(self, i): """Returns the ith score, counting from 1.""" return self.scores[i - 1]

def getAverage(self): """Returns the average score.""" return sum(self.scores) / len(self._scores) def getHighScore(self): """Returns the highest score.""" return max(self.scores)

def __str__(self): """Returns the string representation of the student.""" return "Name: " + self.name + " Scores: " + \ " ".join(map(str, self.scores))

def __lt__(self, other): """Returns self < other, with respect to names.""" return self.name < other.name

def __ge__(self, other): """Returns self >= other, with respect to names.""" return self.name >= other.name

def __eq__(self, other): """Tests for equality.""" if self is other: return True elif type(self) != type(other): return False else: return self.name == other.name

def main(): """Tests sorting.""" # Create the list and put 5 students into it lyst = [] for count in reversed(range(5)): s = Student("Name" + str(count + 1), 10) lyst.append(s) # Complete the definition of the main function

if __name__ == "__main__": main()

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Secrets Of Analytical Leaders Insights From Information Insiders

Authors: Wayne Eckerson

1st Edition

1935504347, 9781935504344

More Books

Students also viewed these Databases questions