我想这样做,如果您输入错误的文本,它仍然有效吗?

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
...

请注意,要中断循环,答案必须是备选方案之一。