Notendurchschnitt berechnen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
drachenjoghurt
User
Beiträge: 2
Registriert: Montag 12. Oktober 2020, 20:59

Hey,
ich bin neu in python und habe in meiner Schule die Aufgabe bekommen, ein Programm zu schreiben in der man
ersten: die Noten eingeben kann
zweitens: der durchschnitt berechnet wird

und dann noch
beste und schlechteste Note anzeigen und Notenspiegel

aber brauche nur soweit zweitens

mein code sieht so aus:


#Notenberechnung

print(" Notenberechnung ")
print(" =================== ")
print(" ")
nummer = 0

print("Gib zuerst an wie viele Noten du hast")
print(" ")

noten = float(input("Anzahl der Noten: "))
print("Gib die Noten ein")
print(" ")

for i in range (1, noten+1 ):
nummer += 1
print(nummer, ")")
note = float(input())
print(" ")



bin ziemlich ehrgeizig, weil ich nicht weiß wie ich das mache oder ist es dafür falsch
wäre sehr dankbar für eine Antwort :D :D :D
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@drachenjoghurt: Statt den Benutzer die Anzahl der Werte eingeben zu lassen, wäre es IMHO nutzerfreundlicher wenn man einfach solange Eingaben abfragt, bis der Benutzer beispielsweise eine Leereingabe macht.

Falls man die Anzahl abfragt: das ist eher eine ganze Zahl, denn man kann ja schlecht beispielsweise 3½ Noten abfragen/eingeben lassen. 😉

Sind bei den Noten Kommazahlen sinnvoll?

Man sollte den Benutzer so lange Fragen, bis er tatsächlich eine Zahl eingegeben hat. Also verhindern, dass eine Fehleingabe das Programm mit einer Fehlermeldung abbricht. Das ist nämlich superärgerlich wenn man 10 Noten eingeben will und sich bei der 9. vertippt und alles noch mal von vorne machen muss.

Um eine Leerzeile ausgeben zu lassen muss man keine Zeichenkette mit einem Leerzeichen ausgeben lassen, welches man ja sowieso nicht sieht. Es reicht eine leere Zeichenkette, beziehungsweise sogar *gar* kein Wert den man `print()` übergibt.

Man definiert Namen erst wenn man sie braucht und nicht weit entfernt vom ersten Einsatz. `nummer` manuell hochzuzählen ist hier nicht wirklich sinnvoll, denn `i` hat ja immer den gleichen Wert. `i` sollte also eigentlich `nummer` heissen.

`noten` wäre ein guter Name für die Noten, aber ein weniger guter für die *Anzahl* der Noten.

Die eingegebenen Noten musst Du Dir entweder merken, oder schon während der Eingabe die notwendigen Teilberechnungen für die Ausgaben durchführen. Merken wäre einfacher/übersichtlicher, weil man dann die Benutzerinteraktion und die Berechnung nicht vermischen würde. Eine Liste würde sich für die Noten anbieten.

`input()` kann man einen Text mitgeben, dann braucht man da kein extra `print()` davor.

Was ist denn der Unterschied zwischen Notendurchschnitt und Notenspiegel?
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten