【问题标题】:Python: Boolean does not work as expected [duplicate]Python:布尔值无法按预期工作[重复]
【发布时间】:2016-03-12 20:44:29
【问题描述】:

例子很简单:

a = 2
b = 7

a >= 1 & a <= 10**10 & b >= 1 & b <= 10**2
>False
a >= 1 & a <= 10**2 & b >= 1 & b <= 10**2
>True

这个问题是一个简单的错字。让我很好奇。但最后我真的不明白为什么会这样?

【问题讨论】:

  • &amp; 并没有按照你的想法去做。
  • 使用and,而不是&amp;
  • 哎呀...我尝试尝试不同的语言。即使是常见的运算符也不一样。
  • 这篇文章值得删除。我应该通过从第 1 页开始阅读 Python 手册来恢复我的尊严。sigh
  • @A.Val。 &amp; 在几乎所有受 C 语言影响的语言中表示按位与。如果逻辑 AND 用“&”符号书写,则几乎总是&amp;&amp;

标签: python


【解决方案1】:

您应该使用logical AND 运算符,它在 Python 中是 and,而不是 &amp;

>>> a >= 1 and a <= 10**10 and b >= 1 and b <= 10**2
True

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-15
    • 2020-04-23
    • 2013-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多