連絡先を表示、追加、削除して、電話メニューのプロジェクトを作成しようとしています。辞書に連絡先を追加したり、新しいファイルを作成したり、そこから書込み/読んだりすることで、どちらの方が良いでしょうか?電話メニュー - Python 3
空の辞書に新しい連絡先を追加してから、表示オプションを使用して表示しようとしましたが、まだ辞書が空です。
私の「プロジェクト」の最初のサンプルです:
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
ので、この方法は動作しません、私もそれにはない
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
TEXT.TXTファイルに書き込みをしようとしましたどちらも動作しません。
どちらの場合でも私は間違っていますか?どのようにすれば、最初から2番目のものを選ぶべきですか?
私はこれらのヒントが問題に関係していない場合でも、私は自分のコードを修正することができますどのようなヒントに感謝します。
私を助けてくれてありがとう!コードでこの "try/except"メソッドを使用した理由を教えてください。私はそれについていくつかの情報を見つけようとしましたが、私はそれを得ていません。私はそれを使用する必要があり、目的は何ですか? –
try/exceptは、プログラム内のエラーを処理するために使用されます。この例外がアプリケーションをクラッシュさせるのを避けるために、プログラムが予期しない方法で実行されるような処理を行うときはいつでも、このメソッドを使用してください。この場合、たとえば、try/exceptを使用して、存在しない可能性のあるファイルに存在しない可能性のあるコンテンツを読み取りました。したがって、例外が発生すると、コードは空の辞書を作成します。 try/except文を削除して、ディレクトリにファイルcontacts.jsonの有無にかかわらずコードを実行してください。また、[許してください](https://docs.python.org/3.4/glossary.html#term-eafp) –