Python:确保用户输入的字符串有效,并拒绝任何其他输入
试图配置我的程序,使其在整个程序中只接受“是”和“否”的回答,而任何其他输入(如整数和其他字符串)都会产生错误消息。使用.isalpha()对我也不起作用,如果您有任何关于如何帮助编写代码的提示,我将不胜感激Python:确保用户输入的字符串有效,并拒绝任何其他输入,python,Python,试图配置我的程序,使其在整个程序中只接受“是”和“否”的回答,而任何其他输入(如整数和其他字符串)都会产生错误消息。使用.isalpha()对我也不起作用,如果您有任何关于如何帮助编写代码的提示,我将不胜感激 text = True if text: textHelp = input('Are you sleeping? '.isalpha()) if textHelp == 'yes': print('Cannot take p
text = True
if text:
textHelp = input('Are you sleeping? '.isalpha())
if textHelp == 'yes':
print('Cannot take phone call b/c im sleeping')
else:
print('Can take phone call)
您可以使用if..elif..else尝试使用like:
if textHelp == 'yes':
print('Cannot take phone call b/c im sleeping')
elif textHelp == 'no':
print('Can take phone call')
else:
print("Faulty message")
如果要继续提示无效输入,请执行以下操作:
while True:
if textHelp == 'yes':
print('Cannot take phone call b/c im sleeping')
break
elif textHelp == 'no':
print('Can take phone call')
break
else:
print("Faulty message")
我想这就是你要找的
为true时:
textHelp=input('你在睡觉吗?')
如果text help.isalpha():
#您的预期输出。。。
打破
其他:
打印(“重试!”)
但是我认为@WasifHasan的答案更清楚。从你的描述中,你想要的是这样的:
input\u text=input('你在睡觉吗?')。lower()
如果输入_text==“是”:
打印('无法接听电话b/c im睡眠')
elif input_text==‘否’:
打印('可以接听电话')
其他:
打印('答案应为“是”或“否”)
Thr
.lower()
方法确保“是”、“是”、“是”等都被同等对待。对于这种情况,您不需要使用.isalpha()
方法。当然,这可以放在一个循环中运行它,直到您得到“yes”或“no”作为输入