我正在制作自动售货机,但我有点卡住了。
代码: http: //pastebin.com/5AWG1qWw
在我的机器上,我有 6 个选择,但是当我运行程序时,一切正常,除非我来到vending=input("Select a Option: ")
所以说我输入“1”它会问我同样的问题,而不是去if vending==1:
我正在制作自动售货机,但我有点卡住了。
代码: http: //pastebin.com/5AWG1qWw
在我的机器上,我有 6 个选择,但是当我运行程序时,一切正常,除非我来到vending=input("Select a Option: ")
所以说我输入“1”它会问我同样的问题,而不是去if vending==1:
它会在每一步之后重复,因为你没有对 1 到 6 之间的数字做任何事情,
while error2==True:
try:
vending=input("Select a Option: ")
if vending >= 7:
print"Enter a number between 1-6. Please try again."
elif vending==0:
print"Enter a number between 1-6. Please try again."
error2=False
else:
#do something
# Set error2 to False to break out of the while loop.
except NameError:
print"Enter a number between 1-6. Please try again."
time.sleep(1)
except SyntaxError:
print"Enter a number between 1-6. Please try again."
time.sleep(1)
输入数字 1-6 后,您永远不会设置error2
为 false。仅在输入 a 后设置为 false0
附录:我不喜欢简单地使用变量来跟踪while循环。或者你可以做
while True:
if vending = what_you_want:
do_something()
#then to quit looping:
elif vending == 0:
break