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)
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?