是/否问题与 Python 中的用户输入
Yes/No question with user input in Python
向用户询问是/否问题:
- 使用
input()
函数从用户那里获取输入。 - 使用条件语句检查用户是否输入了
yes
orno
。 - 如果满足任一条件,则执行操作。
主程序
user_input = input('Do you like pizza (yes/no): ') if user_input.lower() == 'yes': print('user typed yes') elif user_input.lower() == 'no': print('user typed no') else: print('Type yes or no')
我们使用该input()
函数从用户那里获取输入。
该if
语句检查用户是否输入yes
并打印消息。
我们使用str.lower()
将用户输入的字符串转换为小写的方法来进行不区分大小写的相等比较。
主程序
print('YES'.lower()) # 👉️ 'yes' print('Yes'.lower()) # 👉️ 'yes'
str.lower方法返回字符串
的副本,其中所有大小写字符都转换为小写。
else
如果用户键入其他内容,该块就会运行。
您可能还有多个您认为是yes
or的单词no
。
如果是这种情况,请将单词添加到列表中并使用in
运算符检查成员资格。
主程序
user_input = input('Do you like pizza (yes/no): ') yes_choices = ['yes', 'y'] no_choices = ['no', 'n'] if user_input.lower() in yes_choices: print('user typed yes') elif user_input.lower() in no_choices: print('user typed no') else: print('Type yes or no')
我们使用in
运算符来检查输入值是否是列表中的任何一项。
in 运算符
测试成员资格。
例如,如果是 的成员,则x in l
计算为 ,否则计算为。True
x
l
False
如果您只想让用户输入 and 的某些变体yes
,请no
使用while
循环。
主程序
yes_choices = ['yes', 'y'] no_choices = ['no', 'n'] while True: user_input = input('Do you like pizza (yes/no): ') if user_input.lower() in yes_choices: print('user typed yes') break elif user_input.lower() in no_choices: print('user typed no') break else: print('Type yes or no') continue
我们使用while
循环只允许用户回答yes
, y
,no
或n
。
如果if
块运行,我们打印一条消息并使用该break
语句退出循环。
break
语句跳出最内层的封闭或
for
循环while
。
如果用户输入了无效值,该
else
块将运行,我们将在此处使用该continue
语句再次提示用户。该continue
语句继续循环的下一次迭代。
在while
循环中验证用户输入时,我们continue
在输入无效时使用该语句。
如果输入有效,我们使用break
语句退出while
循环。