Python(和编程)新手can';我看不出我在哪里';我做错了
我正在业余时间学习一点Python。正在尝试制作电话簿,在此网站上找到一个电话簿。已将其用作模板,但忽略了打印菜单功能。这是我能看到的唯一区别,但当我添加一个数字时,它会卡在那个部分。只是要求输入姓名和号码,而不是逃避if循环。如果有人能告诉我为什么我会陷入这样的困境,我将不胜感激Python(和编程)新手can';我看不出我在哪里';我做错了,python,Python,我正在业余时间学习一点Python。正在尝试制作电话簿,在此网站上找到一个电话簿。已将其用作模板,但忽略了打印菜单功能。这是我能看到的唯一区别,但当我添加一个数字时,它会卡在那个部分。只是要求输入姓名和号码,而不是逃避if循环。如果有人能告诉我为什么我会陷入这样的困境,我将不胜感激 phoneBook = {} def main(): action = input("What would you like to do? \n 1. Add \n 2. Delete \n 3. Prin
phoneBook = {}
def main():
action = input("What would you like to do? \n 1. Add \n 2. Delete \n 3. Print \n 4. Quit \n")
while action != 4:
if action == '1':
name = input("Enter name: ")
num = input("Enter number: ")
phoneBook[name] = num
elif action == '2':
name = input("Delete who?")
if name in phoneBook:
del phoneBook[name]
else:
print("Name not found")
elif action == '3':
print("Telephone numbers: ")
for x in phoneBook.keys():
print("Name: ", x, "\tNumber: ", phoneBook[x])
elif action == '4':
print("Application closed.")
main()
input()
返回字符串,而不是整数
所以
应成为:
while action != '4':
这里有两个问题。正如Padraic和Leistungsabfall所提到的,
input
返回一个字符串,但您也只能获得一次输入。如果要继续获取输入,需要将其放入循环中:
action = None
while action != '4':
action = input('What action would you like? ')
# the rest of your code here
whileaction!=“4”:
是的,我刚刚看到了,将它们全部改为整数。在我看到回复之前,它就开始工作了。谢谢
action = None
while action != '4':
action = input('What action would you like? ')
# the rest of your code here