1 / 3100%
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. Print to the console the
unsorted list first of all students followed by the sorted list of all students
Note: The sorted list should 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
# import random to use random shuffle function.
import random
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 + "\nScores: " + \
" ".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
print("Sorted list of students:")
# Shuffle the list using the import statement random
random.shuffle(lyst)
# Sort the list using the sort() method.
lyst.sort()
# Disply the student list data.
for obj in lyst:
print(obj. str ())
if name == " main ":
main()
Students also viewed