0

我今天在树莓派上启动了 Python,我想创建受密码保护的菜单。除了在我输入选项后选项不断出现之外,这一切都有效。

这是我的代码,任何人都可以告诉我它有什么问题,我把它都保存在这里,所以你们可以看到有什么问题。就像我说的那样,我得到了第一个,shutdown 或 items,但是当我输入 1 或 2 时,它会重复它,而忽略该if语句。

ans = True

while ans:

    print("""

    1. Shutdown
    2. Items

    """)

    ans=input("Please enter a number: ")

    if ans == "1":
        exit()
    elif ans == "2":

        pa=input("Please Enter Password: ")

        if pa == "zombiekiller":

            print("""

            1. Pi password
            2. Return To Menu

            """)

        else:
                print("You Have Entered An Inccorect Password. Terminating Programm")
                import time
                time.sleep(1)
                exit()
4

2 回答 2

2

exit不做任何事情。只是将它单独放在一行上会取消引用该名称,但不会调用它。也许你的意思是打电话给它?

exit()

要跳出while循环,您还可以使用break,这是一个语句:

while True:
    print('Ending this loop')
    break
于 2013-08-17T13:11:54.903 回答
0

如果您使用的是 python 2.7,input将尝试将您的输入解释为 python 表达式,返回 number 1,而不是 string "1"。始终用于raw_input从用户那里获取字符串。

在 python 3 中,旧的input已被删除,旧raw_input的已重命名为input.

于 2013-08-17T13:26:44.243 回答