1
2
布尔值是两个常量对象False和True。 对于布尔字符串
bool检查列表是否有对象。如果为空,则返回False;如果不为空,则返回True。 在您的例子中,bOk=bool(input())有一个值,因此 博克 返回True,无论它有什么对象。这样你就有了输出。 |
2
2
评论和其他答案已经涵盖了OPs错误的解释。我宁愿展示在更受限的环境中(生产?)通常是如何完成事情的。 代码没有经过充分测试,也不是最优雅的,尽管关键是:清理输入。总是并以完全不同的方式提示用户选择问题(是/否,对/错)。 在下面的示例中,布尔提示被净化为“此值是唯一被视为True的值;所有其他值都为False”。
希望这对如此庞大的上市有所帮助,并表示歉意。处理用户输入总是一项棘手的任务。 |
3
1
您的代码在Python 2上工作。x、 因为在Python 2中。x、 input()等于eval(raw\u input(prompt))。
但在Python 3中。x、 input()等于raw\u input(),所以bOk等于bool(“False”),等于True。
您可以将input()更改为eval(input())。 “Python 2到3转换工具将用eval(input())替换对input()的调用,用input()替换对raw\u input()的调用。” |
user9549524 · 基于一列的值从二维矩阵中提取值 6 年前 |
J Alan · 用多路复用器分析数字电路的输出 6 年前 |
sirius · BDDs或FDDs中“路径”的含义和意义是什么? 6 年前 |
Bartholomas · Python语句中的布尔逻辑 6 年前 |
random-user · (肯定)标准格式的XOR子句 6 年前 |
maschu · 大整数数组逻辑中遇到无效值 7 年前 |
Jigoku · 检查一列是否具有特定值,然后通过列表限制另一列 7 年前 |