Python布尔输入输出问题:bool(input())无论输入何值均输出True原因问询
问题原因
- Python 中
input()函数的返回值永远是字符串类型,你输入的False不会被识别为布尔值,只会被处理为字符串"False"。 bool()对字符串做类型转换时,只有空字符串""(也就是什么都不输入直接敲回车的返回结果)会被判定为False,其余所有非空字符串,不管内容是"False"、"0"还是其他任意字符,都会被判定为True。
你遇到的现象本质就是输入的所有内容都会被转为非空字符串,所以bool()转换后始终返回True。
修复方案
如果需要根据输入内容得到对应的布尔值,可以先判断字符串内容再做转换,示例代码如下:
user_input = input().strip().lower() x = user_input == 'true' print(x)
以上代码输入true/True时返回True,输入其余内容都会返回False。
内容的提问来源于stack exchange,提问作者LIKHITH VARMA M
相关产品推荐
相关产品推荐

