rage / python-kesa20

https://python-k20.mooc.fi
0 stars 7 forks source link

Ongelma opiskelijarekisteri osa2:n tarkistuksessa #32

Open mcturkki opened 4 years ago

mcturkki commented 4 years ago

Tällä lähdekoodilla nimet=[] suoritus=[] def lisaa_opiskelija(opiskelijat, nimi:str): nimet.append(nimi)

def tulosta(opiskelijat, nimi:str):
summa=[] print(nimi+": ") if nimi not in nimet: print("ei löytynyt ketään nimellä", nimi) print(f" suorituksia {len(suoritus)} kurssilta: " ) for i in range(0,len(suoritus)): print(" "+' '.join(map(str,suoritus[i]))) summa.append(suoritus[i][1]) print("keskiarvo:", sum(summa)/len(suoritus) )

kurssi=() def lisaa_suoritus(opiskelijat, nimi:str, kurssi:tuple): #Kurssi vastaa sekä kurssin nimeä että arvosanaa suoritus.append(kurssi)

opiskelijat={} lisaa_opiskelija(opiskelijat, "Pekka") lisaa_suoritus(opiskelijat, "Pekka", ("Ohpe", 3)) lisaa_suoritus(opiskelijat, "Pekka", ("Tira", 2)) tulosta(opiskelijat, "Pekka")

TMC tulostaa virheen: 5 != 2 : Ohjelmasi pitäisi tulostaa 2 riviä kun suoritetaan seuraava koodi: opiskelijat = {} lisaa_opiskelija(opiskelijat, "pekka") tulosta(opiskelijat, "pekka") Nyt se tulostaa 5 riviä: pekka: suorituksia 2 kurssilta: Ohpe 3 Tira 2 keskiarvo: 2.5

En ymmärrä mistä tämä tulee, kaikki lähdekoodissa vaikuttaa kuitenkin olevan kunnossa?