Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python(和编程)新手can';我看不出我在哪里';我做错了_Python - Fatal编程技术网

Python(和编程)新手can';我看不出我在哪里';我做错了

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

我正在业余时间学习一点Python。正在尝试制作电话簿,在此网站上找到一个电话簿。已将其用作模板,但忽略了打印菜单功能。这是我能看到的唯一区别,但当我添加一个数字时,它会卡在那个部分。只是要求输入姓名和号码,而不是逃避if循环。如果有人能告诉我为什么我会陷入这样的困境,我将不胜感激

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