在 Python 中获取用户输入的布尔值 (True/False)
Taking user input boolean (True/False) values in Python
获取用户输入的布尔值:
- 使用
input()
函数从用户那里获取输入。 - 检查提供的值是否等于字符串
True
或False
. - 如果满足任一条件,则执行操作。
主程序
user_input = '' while True: user_input = input('Subscribe to newsletter? True / False: ') if user_input.capitalize() == 'True': print('The user typed in True') break elif user_input.capitalize() == 'False': print('The user typed in False') break else: print('Enter True or False') continue
我们使用while 循环进行迭代,直到用户输入True
orFalse
值。
输入函数接受一个可选参数并将其写入标准输出而prompt
没有尾随换行符。
然后该函数从输入中读取该行,将其转换为字符串并返回结果。
input()
即使用户输入布尔值,该函数也保证返回一个字符串。将任何非空字符串转换为布尔值返回True
。
主程序
print(bool('a')) # 👉️ True print(bool('False')) # 👉️ True print(bool('')) # 👉️ False
这就是我们将用户输入值与字符串进行比较的True
原因False
。
主程序
user_input = '' while True: user_input = input('Subscribe to newsletter? True / False: ') if user_input.capitalize() == 'True': print('The user typed in True') break elif user_input.capitalize() == 'False': print('The user typed in False') break else: print('Enter True or False') continue
该if
语句检查用户输入值是否等于字符串True
。
如果满足条件,我们打印值并跳出循环while
。
break语句跳出最内层的for 或 while循环。
str.capitalize函数
返回字符串的副本,其中第一个字符大写,其余字符小写。
主程序
print('true'.capitalize()) # 👉️ 'True' print('FALSE'.capitalize()) # 👉️ 'False'
该str.capitalize
方法确保输入值的首字母大写,其余字母小写。
如果提供的值既不是True
nor False
,我们使用
continue 语句再次提示用户。
该continue
语句继续循环的下一次迭代。
当在
while
循环中验证用户输入时,我们在输入无效时使用语句,例如在块或语句中。 continue
except
if
如果输入有效,我们使用break
语句退出循环while
。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: