Python正在重复
我今天在raspberry pi上启动了Python,我想创建密码保护菜单。除了在我输入一个选项后继续出现的选项外,它都可以工作 这是我的代码,有人能告诉我它有什么问题吗,请,我把它都保存在这里,这样你们就可以看到有什么问题了。就像我说的,我得到了第一个,shutdown或items,但当我输入1或2时,它会重复它,忽略Python正在重复,python,if-statement,command,Python,If Statement,Command,我今天在raspberry pi上启动了Python,我想创建密码保护菜单。除了在我输入一个选项后继续出现的选项外,它都可以工作 这是我的代码,有人能告诉我它有什么问题吗,请,我把它都保存在这里,这样你们就可以看到有什么问题了。就像我说的,我得到了第一个,shutdown或items,但当我输入1或2时,它会重复它,忽略if语句 ans = True while ans: print(""" 1. Shutdown 2. Items """) a
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()
退出
什么都不做。仅仅把它单独放在一行就可以取消对名称的引用,但不会调用它。也许你想叫它
exit()
要跳出while
循环,还可以使用break
,这是一条语句:
while True:
print('Ending this loop')
break
如果您使用的是python 2.7,
input
将尝试将您的输入解释为python表达式,返回数字1
,而不是字符串“1”
。始终使用raw\u input
从用户处获取字符串
在Python3中,旧的
input
已被删除,旧的raw\u input
已重命名为input
oh ok,谢谢,但它仍然不会从选项中更改,也不会退出文件。我可以尝试一下,但我并不害怕添加loop@StevenSharman:您的脚本顶部有而ans:
。:-)是的,我把它改成了true,它犯了一个错误,我使用了输入而不是原始输入,因为我的python版本是正确的;然后有两个问题:-)什么是exit
定义为?对不起,你说的定义为是什么意思,就像我今天刚开始说的,所以我对特定的术语感到困惑Python交互式解释器确实将exit
定义为一个函数,但它不适用于一般脚本(它会给你一个NameError
)。我想您可能做了类似于exit=sys.exit
或类似的操作。我需要添加哪个sys.exit,对吗?此外,我没有出现nameerror,所以我不知道我是否得到了它。我使用2.7我相信,谢谢,我添加了原始输入,而不是输入,但现在它停止了python文件,让我在python shell中键入而没有错误或错误anything@StevenSharman:您没有提供足够的信息。你们到底给了它什么输入,发生了什么?等等,让它工作了,但现在它说想终止程序,我当时还可以,谢谢