为了账号安全,请及时绑定邮箱和手机立即绑定

评估多个值的条件

评估多个值的条件

慕尼黑8549860 2021-10-12 15:19:34
我有一堆变量需要验证它们是否在确定的范围内。下面是一个快速示例来演示我想要实现的目标。a=1b=3c=5if 0 <= {a,b,c} <= 6:    print("yes")else:    print("no")我希望它打印 yes 但它打印 no。我做错了什么?
查看完整描述

2 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

我究竟做错了什么?


{a,b,c}是一组三个值。它不是介于 0 和 6 之间的值。


这个条件0 <= {a,b,c} <= 6实际上在 Python 3 中产生了一个异常,因为询问一个集合是大于还是小于一个数字是没有意义的。如果您的代码打印"no",那么您可能使用的是 Python 2。


如果要检查某个序列中的每个值是否满足某个条件,可以使用内置函数all。


if all(0 <= x <= 6 for x in (a,b,c)):

    print("yes")

else:

    print("no")


查看完整回答
反对 回复 2021-10-12
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

与Python 3.x中,对于整数你可以用allrange

if all(x in range(7) for x in (a, b, c)):
    # your logic

对于非整数或 Python 2.x,您可以使用链式操作:

if all(0 <= x <= 6 for x in (a, b, c)):
    # your logic

您的逻辑问题在于 Python 没有使用比较运算符实现向量化操作。


查看完整回答
反对 回复 2021-10-12
  • 2 回答
  • 0 关注
  • 172 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信