piotrirving

Classes List print

May 27th, 2020
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.40 KB | None | 0 0
  1. class Student:
  2.   def __init__(self, name, year):
  3.     self.name = name
  4.     self.year = year
  5.     self.grades = []
  6.     self.attendance = {}
  7.  
  8.   def add_grade(self, grade):
  9.     if type(grade) is Grade:
  10.       self.grades.append(grade.score)  
  11.  
  12.   def get_average(self):
  13.     total = 0
  14.     num_grades = len(self.grades)
  15.     for grade in self.grades:
  16.       total += grade
  17.     return total / num_grades
  18.  
  19.   def attendance(self, date, present):
  20.     if type(present) == bool:
  21.       self.attendance[date] = present
  22.  
  23.  
  24.  
  25. class Grade:
  26.   minimum_passing = 65
  27.  
  28.   def __init__(self, score):
  29.     self.score = score
  30.  
  31.   def is_passing(self):
  32.     if self.score >= self.minimum_passing:
  33.       return "Pass"
  34.     else:
  35.       return "Fail"
  36.    
  37. roger = Student("Roger van der Weyden", 10)
  38. sandro = Student("Sandro Botticelli", 12)
  39. pieter = Student("Pieter Bruegel the Elder", 8)
  40. pieter.add_grade(Grade(100))
  41.  
  42. scoretest1 = Grade(60)
  43. print(scoretest1.is_passing())
  44.  
  45. student1 = Student("Student", 1)
  46. print(student1.name)
  47. print(student1.year)
  48.  
  49. student1.add_grade(Grade(0))
  50. student1.add_grade(Grade(100))
  51.  
  52. print(student1.grades)
  53. print(student1.get_average())
  54.  
  55. student1.attendance("23/02/2020", True)
  56.  
  57. OUTPUT
  58.  
  59.  
  60. Fail
  61. Student
  62. 1
  63. [0, 100]
  64. 50.0
  65. Traceback (most recent call last):
  66.   File "script.py", line 55, in <module>
  67.     student1.attendance("23/02/2020", True)
  68. TypeError: 'dict' object is not callable
Add Comment
Please, Sign In to add comment