我希望用 Python 創建一個電話簿系統,如下圖所示,它允許用戶添加、刪除、更新和查找電話號碼。請參閱下面我的代碼。選項 1、2、3 和 5 工作正常,但是選項 4 不起作用,我不知道為什么。當我使用選項 1 添加新條目,然后立即嘗試使用選項 4 查找該條目時,它告訴我該條目不存在,但它顯然不存在。我是否遺漏了什么?(相關代碼部分以“elif Selection == 4:”開頭)def intro(): welcome = (" \n" "#####################################\n" "MYPY PHONE BOOK\n" "#####################################\n" "1 : Add New Entry\n" "2 : Delete Entry\n" "3 : Update Entry\n" "4 : Lookup Number\n" "5 : QUIT\n" "") selection = input(welcome) return int(selection)phoneBook = {}while True: selection = intro() if selection == 1: number = input("Enter phone number: ") name = input("Enter name: ") if number in phoneBook: print(" \n" "* Number already in phonebook *") else: phoneBook.update({number : name}) print(" \n" "* Name and number added to phone book *") print(phoneBook) elif selection == 2: number2 = input("Enter phone number to be deleted: ") if number2 in phoneBook: phoneBook.pop(number2) print(" \n" "* Number deleted from phone book *") print(phoneBook)
1 回答

UYOU
TA貢獻1878條經驗 獲得超4個贊
您使用名稱作為字典的鍵還是數字作為鍵?
在選擇 4 中,您這樣做了if name4 in phoneBook:...
,但是,在代碼的其他部分,您似乎使用數字作為鍵。使用字典,您可以使用 來檢查某個鍵是否在字典中key in dictionary
。另一方面,如果你想檢查一個值是否在字典中,你可以這樣做:
for val in dictionary.values(): if val == value: ...
一探究竟 ;)
添加回答
舉報
0/150
提交
取消