Hallo zusammen,
bin ein kompletter Anfänger was Python angeht, habe mir deshalb ein Buch gekauft das auch für Anfänger geeignet ist.
In dem Buch ist ein Programmierbeispiel das den Notendurchschnitt berechnet.
Bei mir funktioniert den Code aus welchem Grund auch immer nicht so richtig. Der Durchschnitt wird falsch berechnet.
Wo ist der Fehler ??
Bitte um Hilfe.
weiter = True
notenliste = []
while weiter:
print("Was möchten Sie tun?\n\n")
print("Wählen Sie aus:\n")
print("1.Eine Note hinzufügen\n")
print("2.Durchschnitt berechnen\n")
print("3.Alle Noten Ausgeben\n")
print("4.Programm beenden\n")
eingabe = int(input("Ihre Eingabe 1,2,3 oder 4:"))
if eingabe == 1:
note = int(input("Geben Sie die Note ein."))
notenliste.append(note)
elif eingabe == 2:
i = 0
summe = 0
for summe in notenliste:
summe += note
i += 1
if i != 0:
print("Der Durchschnitt ist:", summe/i)
else :
print("Es sind noch keine Noten vorhanden")
elif eingabe == 3 :
print("Noten",notenliste)
elif eingabe == 4 :
weiter = False
else:
print("Ungültige Eingabe")
print("Auf Wiedersehen")
Fehler im Code
Code: Alles auswählen
weiter = True
notenliste = []
while weiter:
print("Was möchten Sie tun?\n\n")
print("Wählen Sie aus:\n")
print("1.Eine Note hinzufügen\n")
print("2.Durchschnitt berechnen\n")
print("3.Alle Noten Ausgeben\n")
print("4.Programm beenden\n")
eingabe = int(input("Ihre Eingabe 1,2,3 oder 4:"))
if eingabe == 1:
note = int(input("Geben Sie die Note ein."))
notenliste.append(note)
elif eingabe == 2:
i = 0
summe = 0
for summe in notenliste:
summe += note
i += 1
if i != 0:
print("Der Durchschnitt ist:", summe/i)
else :
print("Es sind noch keine Noten vorhanden")
elif eingabe == 3 :
print("Noten",notenliste)
elif eingabe == 4 :
weiter = False
else:
print("Ungültige Eingabe")
print("Auf Wiedersehen")
Code: Alles auswählen
weiter = True
notenliste = []
while weiter:
print("Was möchten Sie tun?\n\n")
print("Wählen Sie aus:\n")
print("1.Eine Note hinzufügen\n")
print("2.Durchschnitt berechnen\n")
print("3.Alle Noten Ausgeben\n")
print("4.Programm beenden\n")
eingabe = int(input("Ihre Eingabe 1,2,3 oder 4:"))
if eingabe == 1:
note = int(input("Geben Sie die Note ein."))
notenliste.append(note)
elif eingabe == 2:
i = 0
note = 0
for note in notenliste:
note += note
i += 1
if i != 0:
print("Der Durchschnitt ist:", note/i)
else :
print("Es sind noch keine Noten vorhanden")
elif eingabe == 3 :
print("Noten",notenliste)
elif eingabe == 4 :
weiter = False
else:
print("Ungültige Eingabe")
print("Auf Wiedersehen")
Hallo,
verstehst du deine 'for'-Schleife? Ausgeschrieben sieht das so aus:
Was erwartest du denn für ein Ergebnis wenn du zum Beispiel eine 3 und eine 5 in deiner notenliste hast?
Welchen Wert hat 'note nachdem die Schleife durchgelaufen ist und wieso?
Grüße
Dennis
verstehst du deine 'for'-Schleife? Ausgeschrieben sieht das so aus:
Code: Alles auswählen
for note in notenliste:
note = note + note
Welchen Wert hat 'note nachdem die Schleife durchgelaufen ist und wieso?
Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
So würde es gehen:
Code: Alles auswählen
elif eingabe == 2:
i = len(notenliste)
note= sum(notenliste)
if sum(notenliste) !=0:
print("Der Durchschnitt ist:", note/i)
else:
print("Es sind noch keine Noten vorhanden")
Hallo qcaine,
unabhängig von der Funktion sum() musst Du aber die for - Schleife verstehen. Du brauchst neben der notenliste dazu 2 Variablen: note und summe,
und musst dann prüfen ob die 'summe' richtig gebildet wird.
viel Spaß, gerpark
unabhängig von der Funktion sum() musst Du aber die for - Schleife verstehen. Du brauchst neben der notenliste dazu 2 Variablen: note und summe,
und musst dann prüfen ob die 'summe' richtig gebildet wird.
viel Spaß, gerpark
- __blackjack__
- User
- Beiträge: 14078
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@andie39: Am Anfang ein ``if notenliste:`` wäre sicherer. Denn es könnte ja eine Liste sein wo der Benutzer mal versucht hat ob man auch negative Werte eingeben kann. Die Eingaben -1 und 1 würden dann beispielsweise zu einem `ZeroDivisionError` führen.
Code: Alles auswählen
elif eingabe == 2:
if notenliste:
print("Der Durchschnitt ist:", sum(notenliste) / len(notenliste))
else:
print("Es sind noch keine Noten vorhanden.")
“Vir, intelligence has nothing to do with politics!” — Londo Mollari