Ich versuche, ein Projekt von Telefon Menü zu machen, mit dem Anzeigen, Hinzufügen und Entfernen von Kontakten. Welcher Weg wäre besser, Kontakt zum Wörterbuch hinzuzufügen oder neue Dateien zu erstellen und daraus zu lesen/lesen?Telefon Menü - Python 3
Ich versuchte erste Methode - Ich hatte neuen Kontakt zu leeren Wörterbuch hinzugefügt und dann habe ich versucht, es anzuzeigen, indem Sie die Option anzeigen, aber immer noch Wörterbuch ist leer.
, dass eine erste Probe von meinem „Projekt“ ist:
condition = True
while condition == True:
print("Menu")
print("contacts")
print("Add contacts")
print("Remove contacts")
phone_contacts = {}
def contacts(x):
for item in dict(x):
print(item, x[item])
def add_contacts(x):
new_key = input("Enter a name\n")
new_value = input("Enter a number\n")
x[new_key] = new_value
print(phone_contacts)
def remove_contacts(x):
for item in dict(x):
print(item)
removing_contact = input("Enter a contact to remove\n")
if removing_contact in x:
del x[removing_contact]
print("Contact has been deleted!")
else:
print("There is no '%s\' contact!") % (removing_contact)
choose = input("Select option")
if choose == "1":
print(contacts(phone_contacts))
choose_2 = input("End/Back to MENU").lower()
if choose_2 == "end":
break
elif choose_2 == "menu":
pass
elif choose == "2":
print(add_contacts(phone_contacts))
choose_2 = input("End/Back to MENU").lower()
if choose_2 == "end":
break
elif choose_2 == "menu":
pass
elif choose == "3":
print(remove_contacts(phone_contacts))
choose_2 = input("End/Back to MENU").lower()
if choose_2 == "end":
break
elif choose_2 == "menu":
pass
else:
print("You didn't type anything!")
choose_2 = input("End/Back to MENU").lower()
if choose_2 == "end":
break
elif choose_2 == "menu":
pass
dies nicht auf diese Weise nicht funktioniert, habe ich auch versucht
condition = True
while condition == True:
print("Menu")
print("contacts")
print("Add contacts")
print("Remove contacts")
phone_contacts = {}
def contacts(x):
for item in dict(x):
print(item, x[item])
def add_contacts(x):
new_key = input("Enter a name\n")
new_value = input("Enter a number\n")
text = "%s - %d" % (new_key, int(new_value))
savefile = open("text.txt", "w")
savefile.write(text)
savefile.read(text)
savefile.close()
def remove_contacts(x):
for item in dict(x):
print(item)
removing_contact = input("Enter a contact to remove\n")
if removing_contact in x:
del x[removing_contact]
print("Contact has been deleted!")
else:
print("There is no '%s\' contact!") % (removing_contact)
choose = input("Select option")
if choose == "1":
print(contacts(phone_contacts))
choose_2 = input("End/Back to MENU").lower()
if choose_2 == "end":
break
elif choose_2 == "menu":
pass
elif choose == "2":
print(add_contacts(phone_contacts))
choose_2 = input("End/Back to MENU").lower()
if choose_2 == "end":
break
elif choose_2 == "menu":
pass
elif choose == "3":
print(remove_contacts(phone_contacts))
choose_2 = input("End/Back to MENU").lower()
if choose_2 == "end":
break
elif choose_2 == "menu":
pass
else:
print("You didn't type anything!")
choose_2 = input("End/Back to MENU").lower()
if choose_2 == "end":
break
elif choose_2 == "menu":
pass
Es tut in eine Datei schreiben text.txt arbeite auch nicht.
Was mache ich in beiden Fällen falsch? Welchen Weg soll ich wählen, erster oder zweiter?
BTW Ich wäre dankbar für irgendwelche Tipps, wie ich meinen Code korrigieren könnte, auch wenn diese Tipps nicht zu dem Problem gehören.
Danke für Ihre Mühe, mir zu helfen! Können Sie mir sagen, warum Sie diese "try/except" -Methode im Code verwendet haben? Ich habe versucht, etwas darüber zu finden, aber ich verstehe es nicht. Wann sollte ich es benutzen und wozu dient es? –
try/except wird für die Behandlung von Fehlern in Ihrem Programm verwendet. Sie sollten es immer dann verwenden, wenn Ihr Programm etwas auf unerwartete Weise ausführt, um zu verhindern, dass diese Ausnahme Ihre Anwendung zum Absturz bringt. In diesem Fall habe ich beispielsweise try/except verwendet, um den Inhalt zu lesen, der möglicherweise nicht in einer Datei existiert, die möglicherweise nicht existiert. Wenn die Ausnahme ausgelöst wird, wird der Code einfach ein leeres Wörterbuch erstellen. Versuchen Sie, die try/except-Anweisung zu entfernen, und führen Sie den Code mit und ohne die Datei contacts.json im Verzeichnis aus.Auch [um Vergebung bitten] (https://docs.python.org/3.4/glossary.html#term-eafp) –