Program w którym możemy wpisywać z zewnątrz oceny dla 3 uczniów - wpisujemy w listę. A następnie wyświetla listę z ocenami.
Co zrobić, żeby program nie dopisywał liczb do jednej listy. Jeżeli wprowadzę oceny dla jednego ucznia 1,2 dla drugiego 3,4 a trzeci będzie miał 5 i 6 program wypisuje mi 3 takie same listy ze wszystkimi ocenami czyli przykładowo: Janek[1,2,3,4,5,6], Bartek[1,2,3,4,5,6], Maciek[1,2,3,4,5,6]. A chcę wiadomo oceny poszczególnych uczniów.
class Student:
imie = ""
nazwisko = ""
ocena = []
def srednia(self):
if len(self.ocena) == 0:
print("Nie ma ocen, nie ma średniej")
else:
x = sum(self.ocena)/len(self.ocena)
print("Średnia ocen wynosi: ", x)
def dodaj(self):
while (True):
print("Podaj oceny ucznia: ", self.imie, self. nazwisko, ". Jeśli chcesz zakończyc wprowadź '0'")
x = int(input())
if x == 0:
break
if x>6 or x<0:
print("Nie ma takiej oceny")
self.ocena.append(x)
def dane(self):
print("Imie i Nazwisko: ", self.imie, self.nazwisko, ", oceny: ", self.ocena )
a = Student()
a.imie = "Jan"
a.nazwisko = "Kowalski"
b = Student()
b.imie = "Marek"
b.nazwisko = "Pawelski"
c = Student()
c.imie = "Jacek"
c.nazwisko = "Mackiewicz"
a.dodaj()
b.dodaj()
c.dodaj()
a.dane()
a.srednia()
b.dane()
b.srednia()
c.dane()
c.srednia()