While loop 如何防止布尔while循环中的无限循环?
我有这样的代码:While loop 如何防止布尔while循环中的无限循环?,while-loop,boolean,infinite-loop,While Loop,Boolean,Infinite Loop,我有这样的代码: maybeYes = raw_input("Please enter Yes to continue.") if maybeYes != "Yes": print "Try again." # ask for input again else: pass 我应该在我想让它再次请求输入的地方填写什么?您应该直接在循环中进行原始输入 while True: result = raw_input("...")
maybeYes = raw_input("Please enter Yes to continue.")
if maybeYes != "Yes":
print "Try again."
# ask for input again
else:
pass
我应该在我想让它再次请求输入的地方填写什么?您应该直接在循环中进行原始输入
while True:
result = raw_input("...")
if result != "Yes":
print "Try again."
continue
else:
break
在我看来,你想要一个无限循环
maybeYes = raw_input("Please enter Yes to continue.")
while maybeYes != "Yes":
maybeYes = raw_input("Please try again.")
但是,您始终可以添加计数器/转义符
maybeYes = raw_input("Please enter Yes to continue.")
attempts = 0
while maybeYes != "Yes" and attempts < 10:
maybeYes = raw_input("Please try again.")
attempts += 1
这将循环打印错误,直到用户键入yes、yes、yes、yes或yes,因为在检查yes之前,输入将转换为全大写,然后您的代码可以继续
while raw_input("Please enter Yes to start: ").upper() != 'YES':
print 'Wrong'
print 'Correct'
#Carry on here
输出:
Please enter Yes to start: nowg
Wrong
Please enter Yes to start: wggwe
Wrong
Please enter Yes to start: Yes
Correct
不知道为什么这被否决了,它不仅是正确的,而且比目前的其他两个答案更干净、更有力?可能是因为人们开始喜欢否决我猜通过这句话-会给你声誉,你试图说…会增加你作为一个提问者的声誉,而不是分数