Advertisement
Guest User

Untitled

a guest
Jul 18th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.37 KB | None | 0 0
  1. class student:
  2.     def __init__(self, name, sex):
  3.         self.name = name
  4.         self.sex = sex
  5.         self.scores = []
  6.         self.fail = 0
  7.  
  8.     def add(self, sc):
  9.         self.scores.append(sc)
  10.         if sc < 60:
  11.             self.fail += 1
  12.  
  13.     def get_avg(self):
  14.         total = 0
  15.         for i in self.scores:
  16.             total += i
  17.  
  18.         return total / len(self.scores)
  19.  
  20. s1 = student("Tom","M")
  21. s2 = student("Jane","F")
  22. s3 = student("John","M")
  23. s4 = student("Ann","F")
  24. s5 = student("Peter","M")
  25. s1.add(80)
  26. s1.add(90)
  27. s1.add(55)
  28. s1.add(77)
  29. s1.add(40)
  30. s2.add(58)
  31. s2.add(87)
  32. s3.add(100)
  33. s3.add(80)
  34. s4.add(40)
  35. s4.add(55)
  36. s5.add(60)
  37. s5.add(60)
  38.  
  39. def top(students):
  40.     top_avg = 0
  41.     top_cls = None
  42.     for s in students:
  43.         if s.get_avg() > top_avg:
  44.             top_avg = s.get_avg()
  45.             top_cls = s
  46.    
  47.     return top_cls
  48.  
  49. for s in [s1, s2, s3, s4, s5]:
  50.     print('Name: {}'.format(s.name))
  51.     print('Gender: {}'.format(s.sex))
  52.     print('Grades: {}'.format(s.scores))
  53.     print('Avg: {}'.format(s.get_avg()))
  54.     print('Fail Number: {}\n'.format(s.fail))
  55.  
  56. top_s = top([s1, s2, s3, s4, s5])
  57. print('Top Student:')
  58. print('Name: {}'.format(top_s.name))
  59. print('Gender: {}'.format(top_s.sex))
  60. print('Grades: {}'.format(top_s.scores))
  61. print('Avg: {}'.format(top_s.get_avg()))
  62. print('Fail Number: {}'.format(top_s.fail))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement