Wie findet Ihr denn Code?
noten = []
def noten_schuelern(name, mathe, deutsch, englisch, bericht):
noten.append({"Name": name, "Mathe": mathe, "Deutsch": deutsch, "Englisch": englisch, "Bericht": bericht})
print(f"Der Schüler {name} wurde hinzugefügt mit seiner Information.")
def durchschnit(name, mathe, deutsch, englisch):
info = []
schnitt = (mathe + deutsch + englisch) / 3
runden = round(schnitt, 4)
info.append({name, runden})
print(f"Der Schüler {name} mit dem Notenschnitt von {runden}")
def schueler_anzeigen(name):
heraus = [schueler for schueler in noten if name.lower() in schueler["Name"].lower()]
if heraus:
print(f"Die Information: {noten}")
else:
print("Schüler wurde nicht gefunden!")
def menue():
while True:
print("__Menü__")
print("1. Die Noten der Schüler hinzufügen")
print("2. Der Durschnitt berechnen")
print("3. Schüler anzeigen")
print("4. programm beenden")
wahl = int(input("Bitte wählen sie einer der Optionen aus:"))
if wahl == 1:
name = input("Bitte geben sie denn Name der Schüler ein:")
mathe = int(input("Mathe Note:"))
deutsch = int(input("Deutsch Note:"))
englisch = int(input("Englisch Note:"))
bericht = input("Schreiben sie informationen üben denn Schüler:")
noten_schuelern(name, mathe, deutsch, englisch, bericht)
elif wahl == 2:
Name = input("Schüler Name:")
Mathe = int(input("Mathe Note:"))
Deutsch = int(input("Deutsch Note:"))
Englisch = int(input("Englisch Note:"))
durchschnit(Name, Mathe, Deutsch, Englisch)
elif wahl == 3:
nname = input("Geben sie denn schüler Namen ein:")
schueler_anzeigen(nname)
elif wahl == 4:
print("Programm wird beendet")
break
else:
print("Bitte geben sie was gültiges ein")
menue()
HABE ALLES ALLEINE PROGRAMMIERT AUßER DIE ZEILE DEF ANZEIGEN
2 Antworten
Ich sag mal: Naja.
Ein Schritt vorwärts wäre es structural matching anstatt der if/elif-Tirade zu nutzen.
match wahl:
case 1:
# erste option
case 2:
# usw.
case _:
# alles andere
Das liest sich einfach besser, wobei structural matchin noch so Späße wie Nebenbedingungen etc. erlaubt.
schlecht ist er nicht, man kann noch etwas zusammenfassen, ich kann mir da so die langen Stellen in def menue in der while Schleife ab if Wahl 1 und der nachfolgenden Bedingung gut vorstellen. Da geht noch etwas...
Aber eigentlich ist das auch nur dafür da, dass das schöner aussieht.
Für später sollte man lernen, wie man mit Klassen arbeitet und wie man zum Beispiel das Menü statt ins Terminal in eine GUI steckt. Ich selbst bringe das etwas mit TKinter und PyQT, aber das musst Du ja am Ende wissen, was Du verwendest. Da gibt es genug. https://wiki.python.org/moin/GuiProgramming
Ich hatte letztens auch etwas mit flask herumprobiert, wenn Du also irgendwas im Browser als GUI gestalten möchtest geht das eigentlich super.
Aber an sich funktioniert der Code ja, und ist auch gut leserlich, da passt das schon erstmal.
Vielen Dank für die Antwort, könnte ich sie vieleicht um einen gefallen bitten?
Es sieht so aus als ob sie Viel Erfahrung haben, könnte ich sie vieleicht als ein Freund in GuteFrage haben um vieleicht meine Probleme und meine Entwicklung in der Programmiersprache zu verbessern, also sie später so fragen 😅😁
Danke