是/否 while 循环与 Python 中的用户输入
Yes/No while loop with user input in Python
要使用用户输入创建一个是/否 while 循环:
- 使用
while
循环迭代直到满足条件。 - 使用
input()
函数获取用户的输入。 - 如果用户键入
no
,则使用该break
语句跳出循环。
主程序
user_input = '' while True: user_input = input('Do you want to continue? yes/no: ') if user_input.lower() == 'yes': print('User typed yes') continue elif user_input.lower() == 'no': print('User typed no') break else: print('Type yes/no')
我们使用一个while True
循环来迭代,直到用户输入no
。
该
if
语句检查用户是否键入yes
以及是否满足条件,它会继续进行下一次迭代。我们使用str.lower()
将用户输入的字符串转换为小写的方法来进行不区分大小写的相等比较。
主程序
print('YES'.lower()) # 👉️ 'yes' print('Yes'.lower()) # 👉️ 'yes'
str.lower方法返回字符串
的副本,其中所有大小写字符都转换为小写。
该continue
语句继续循环的下一次迭代。
主程序
user_input = '' while True: user_input = input('Do you want to continue? yes/no: ') if user_input.lower() == 'yes': print('User typed yes') continue elif user_input.lower() == 'no': print('User typed no') break else: print('Type yes/no')
如果用户键入no
,我们将打印一条消息并跳出while True
循环。
break
语句跳出最内层的封闭或
for
循环while
。
else
当用户输入任何其他内容时,该块就会运行。
您可能还有多个您认为是yes
or的单词no
。
如果是这种情况,请将单词添加到列表中并使用in
运算符检查成员资格。
主程序
yes_choices = ['yes', 'y'] no_choices = ['no', 'n'] while True: user_input = input('Do you want to continue? yes/no: ') if user_input.lower() in yes_choices: print('User typed yes') continue elif user_input.lower() in no_choices: print('User typed no') break else: print('Type yes/no')
我们使用in
运算符来检查输入值是否是列表中的任何一项。
in 运算符
测试成员资格。
例如,如果是 的成员,则x in l
计算为 ,否则计算为。True
x
l
False
while
如果您只想让用户输入 和 的某些变体,yes
您也可以使用循环no
。
主程序
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
语句再次提示用户。