【问题标题】:Is there an operation for not less than or not greater than in python?在python中是否有不小于或不大于的操作?
【发布时间】:2016-10-18 03:19:21
【问题描述】:

考虑以下 sn-p:

a = 0
if a == 0 or a > 0:
    print(a)

本质上,当a 不是负数时,我想做一些事情。如果不是这个,我想在a 不是0 时做点什么,我会简单地写:

if a != 0 :

本着同样的精神,我尝试了:

if a !< 0 :

假设 Python 的一致性,一旦用户习惯了该语言,他/她就会开始猜测正确的实现。我很惊讶地发现 Python 中不存在这个特定的操作!我的问题是,为什么这么简单的事情没有在 Python 中实现,是否还有另一种实现方式。任何反馈都非常感谢。谢谢

【问题讨论】:

  • 你想要的 lte
  • a == 0 or a &gt; 0 可以写成a &gt;= 0
  • 不等于!&lt; &gt;=
  • @Yarnspinner 我相信正确的 Python 语法应该是 not a &lt; b
  • @Arc676 可以,但为什么不直接使用&gt;=?它几乎可以肯定更高效、更清晰。

标签: python comparison-operators


【解决方案1】:

你可以使用a &gt;= 0,而不是a == 0 or a &gt; 0

https://docs.python.org/library/stdtypes.html#comparisons

【讨论】:

    【解决方案2】:

    好吧 python !&gt; 不起作用。但是

    if not a > 70:
    
        print(' The number is Not bigger than 70')
    
    else:
        print(' The number is DEFINITELY bigger than 70')
    

    这出乎意料地有效

    【讨论】:

      【解决方案3】:

      我惊讶地发现 Python 中不存在这个特定的操作!

      我不熟悉任何具有此运算符的语言。根本不需要。

      至于你的 sn-ps:

      if a == 0 or a &gt; 0

      if a &gt;= 0一模一样

      【讨论】:

      • “我不熟悉任何语言。” +1 - 这不是内部一致性。它与其他语言保持一致,因此来自其他背景的用户不会感到困惑。
      【解决方案4】:

      您可以使用等于或大于运算符:

      if a >= 0:
          print(a)
      

      【讨论】:

        【解决方案5】:

        以下对我有用(不是运算符不起作用,使用波浪号〜,不起作用):

        ((-1 > 0) or (0 > 0)) == False
        

        结果:

        True
        

        【讨论】:

          【解决方案6】:

          您可以使用 > 或

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-10-09
            • 1970-01-01
            • 2021-05-10
            • 2020-04-15
            • 2017-02-28
            相关资源
            最近更新 更多