Das Programm soll folgendes können:
Mit a = Speisekarte anzeigen
n = neues Gericht hinzufügen
l = Gericht löschen
e = Speichern und Porgrammende
Das ganze soll in einem Hauptmenu zu erst erscheinen und es soll nie abstürzen bei Fehleingabe etc.
Ich bin so vorgegangen das ich erstmal die 4 Funktionen geschrieben habe. a und n probieren Problemlos
l und e noch nicht so richtig. Aber das werde ich schon selbst lösen, möchte ja nicht das ihr mein Aufgabe löst
Jedenfalls bekomme ich eine Menge Fehlermeldungen seitdem ich das Menu um meine 4 Funktionen gebaut habe.
Es funktioniert lediglich die a Funktion bei allen anderen stürzt das Problem ab.
Als ich das Menu noch nicht hatte ging es reibungslos, auch wenn die Funktionen zum Teil nicht das gemacht haben was sie sollen aber das ist ein anderes Thema...
Fehlermeldung:
Mein Code:Traceback (most recent call last):
File "C:\Users\*****\Desktop\python\ww.py", line 98, in <module>
Hauptmenu()
File "C:\Users\*****\Desktop\python\ww.py", line 86, in Hauptmenu
spNeuesGericht()
File "C:\Users\*****\Desktop\python\ww.py", line 30, in spNeuesGericht
n = neuesGericht
UnboundLocalError: local variable 'neuesGericht' referenced before assignment
Code: Alles auswählen
file = "speisekarte.txt"
f = open(file, "r+")
f1 = open(file, "r")
speisekarte = f.read()
neuesGericht = f.write
gerichtLöschen = f.write
speichern = f.write
#def a():
#inputWrite = input("Geben sie ein neues Gericht ein")
# Speisekarte Anzeigen lassen
def spAnzeigen():
a = speisekarte
anzeigen = input("A Drücken für Speisekarte: ")
if anzeigen == "a":
print(speisekarte)
else:
print("Gib a ein du Idiot")
Hauptmenu()
# Neues Gericht anzeigen lassen
def spNeuesGericht():
n = neuesGericht
neuesGericht = input("N Drücken um ein neues Gericht hinzuzufügen: ")
if neuesGericht == "n":
f.write("\n" + input("Geben sie ein neues Gericht ein: "))
"""content = f1.readlines()
print(content)"""
# Gericht löschen
def spGerichtloeschen():
l = gerichtLöschen
gerichtLöschen = input("L Drücken um ein Gericht zu löschen: ")
if gerichtLöschen == "l":
print("Welche Gericht möchten sie löschen?")
welchesLöschen = f1.readlines()
print(welchesLöschen)
var = input()
neu = welchesLöschen[int(var)] = ""
print(neu)
"""gerichtWählen = input("Drücken sie eine zahl um ein Gericht zu löschen das 1. Gericht hat die Zahl 0: ")
if gerichtWählen >="0":
welchesLöschen.removes(gerichtWählen)"""
# Gericht speichern
def spGerichtSpeichern():
e = speichern
speichern = input("E Drücken um zu speichern: ")
if speichern == "e":
f.write(speisekarte)
print("Erfolgreich gespeichert")
# Hauptmenu
def Hauptmenu():
"""Anzeigen = spAnzeigen()
Neu = spNeuesGericht()
Löschen = spGerichtloeschen()
Speichern = spGerichtSpeichern()"""
menu = input("Bitte geben sie eine Zahl zwischen 1 und 4 an! \n1. Gericht Anzeigen \n2. Neues Gericht \n3. Gericht löschen \n4. Gerichte speichern \nEingabe: ")
menu2 = int(menu)
if str(menu2) == "1":
spAnzeigen()
if str(menu2) == "2":
spNeuesGericht()
if str(menu2) == "3":
spGerichtloeschen()
if str(menu2) == "4":
spGerichtSpeichern()
"""if menu == "String":
print("")
else:
print("Bitte geben sie eine Zahl zwischen 1 und 4 an!")
Hauptmenu()"""
Hauptmenu()