Python 我想这样做,如果你输入了错误的文本,它仍然会工作?
我想这样做,如果我输入其他内容,它将要求我再次输入,而不是错误使用Python 我想这样做,如果你输入了错误的文本,它仍然会工作?,python,python-2.7,variables,if-statement,input,Python,Python 2.7,Variables,If Statement,Input,我想这样做,如果我输入其他内容,它将要求我再次输入,而不是错误使用elif将您的条件链接在一起;然后只会选择一个匹配条件: question = input('Please choose one. add, times, divide, minus') if (question=='add'): if (question=='times'): if (question=='divide'): if (question=='minus'): 附加的优点是,您现在可以添加一个else块,以捕获用
elif
将您的条件链接在一起;然后只会选择一个匹配条件:
question = input('Please choose one. add, times, divide, minus')
if (question=='add'):
if (question=='times'):
if (question=='divide'):
if (question=='minus'):
附加的优点是,您现在可以添加一个else
块,以捕获用户没有选择上述任何一项的情况:
您可以将您的问题放入一个无休止的循环中,然后使用中断
跳出该循环,或者使用继续
从顶部重新启动循环:
if (question=='add'):
elif (question=='times'):
elif (question=='divide'):
elif (question=='minus'):
else:
另请参见此处有关堆栈溢出的规范问题。除非用户输入正确的输入,否则它将持续ping用户
while True:
question = input('Please choose one. add, times, divide, minus')
if (question=='add'):
#
elif (question=='times'):
#
elif (question=='divide'):
#
elif (question=='minus'):
#
else:
print('Please enter a valid option!')
continue
# we got here, so we must've had a proper input
break
继续问:
while True:
question = input('Please choose one. add, times, divide, minus')
if (question=='add'):
#Do processing
break
elif (question=='times'):
#Do processing
break
elif (question=='divide'):
#Do processing
break
elif (question=='minus'):
#Do processing
break
else:
print "Please enter a valid input !"
请注意,要中断循环,答案必须是备选方案之一。使用
else
condition我该如何做?是否有人可以帮助我将结果写入csv文件。write(问题+“|”+“+name+””的结果:{0}正确,{1}不正确/n)。format(stats['correct'],stats['correct']))这就是我到目前为止所知道的。不要用一个新问题来取代你已经得到答案的问题,这个新问题会使答案变得毫无意义。很抱歉,它不会让我问一个新问题。在这种情况下,你能到达break
语句吗?似乎所有不正确/未知的输入都会落在else
statement@bvidal:完全正确,它使用continue
再次询问。如果输入正确,则在处理输入后会到达break
。确定以避免在每个If/elif
语句中出现break语句。明白了@bvidal:没错,否则您需要4个,每个分支一个。@bvidal:就我个人而言,我会将提示转给一个单独的函数,该函数被赋予有效的输入选项以进行检查。只有用户提供了正确、有效的输入,它才会返回。
while True:
question = input('Please choose one. add, times, divide, minus')
if (question=='add'):
#Do processing
break
elif (question=='times'):
#Do processing
break
elif (question=='divide'):
#Do processing
break
elif (question=='minus'):
#Do processing
break
else:
print "Please enter a valid input !"
question = ''
while question not in ('add', 'times', 'divide', 'minus'):
question = input('Please choose one. add, times, divide, minus')
if question == 'add':
# do something
elif question == 'times':
# do something
...