我想这样做,如果您输入错误的文本,它仍然有效吗?
I want to make it so if you enter the wrong text it will still work?
question = input('Please choose one. add, times, divide, minus')
if (question=='add'):
if (question=='times'):
if (question=='divide'):
if (question=='minus'):
我想这样做,如果我输入其他内容,它会要求我重新输入而不是错误
使用elif
将您的条件链接在一起;然后只会选择一个匹配条件:
if (question=='add'):
elif (question=='times'):
elif (question=='divide'):
elif (question=='minus'):
额外的优势是您现在可以添加一个 else
块,以捕捉用户选择上述 none 的情况 :
if (question=='add'):
elif (question=='times'):
elif (question=='divide'):
elif (question=='minus'):
else:
您可以将问题置于无限循环中,然后使用 break
跳出该循环,也许使用 continue
从顶部重新开始循环:
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
另请参阅 Stack Overflow 上的规范 Asking the user for input until they give a valid response 问题。
它将持续 ping 用户,除非 he/she 输入正确的输入,
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
...
请注意,要中断循环,答案必须是备选方案之一。
question = input('Please choose one. add, times, divide, minus')
if (question=='add'):
if (question=='times'):
if (question=='divide'):
if (question=='minus'):
我想这样做,如果我输入其他内容,它会要求我重新输入而不是错误
使用elif
将您的条件链接在一起;然后只会选择一个匹配条件:
if (question=='add'):
elif (question=='times'):
elif (question=='divide'):
elif (question=='minus'):
额外的优势是您现在可以添加一个 else
块,以捕捉用户选择上述 none 的情况 :
if (question=='add'):
elif (question=='times'):
elif (question=='divide'):
elif (question=='minus'):
else:
您可以将问题置于无限循环中,然后使用 break
跳出该循环,也许使用 continue
从顶部重新开始循环:
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
另请参阅 Stack Overflow 上的规范 Asking the user for input until they give a valid response 问题。
它将持续 ping 用户,除非 he/she 输入正确的输入,
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
...
请注意,要中断循环,答案必须是备选方案之一。