【问题标题】:Updating the boolean value of an inequality without having rewrite it在不重写的情况下更新不等式的布尔值
【发布时间】:2021-10-10 20:25:24
【问题描述】:

我有这段简单的代码:

a,b = 1,3
cond = b>a
for i in range(3):
    a+=1
    print("a:",a,"b:",b,"cond:",cond)

结果是:

a: 2 b: 3 cond: True
a: 3 b: 3 cond: True
a: 4 b: 3 cond: True

但我们看到,在最后一次迭代中,cond 应该是 False。有没有办法让基于变量之间不等式的布尔值得到更新,而不必在每次迭代时重写它?

【问题讨论】:

  • 为什么应该是假的? cond 永远不会更新,那你为什么期望它的价值会改变呢?
  • 变量赋值计算表达式在那个点。这不像将公式放在电子表格单元格中。

标签: python boolean inequality


【解决方案1】:

cond 设为一个函数,并调用它来评估条件。

a, b = 1, 3

def cond():
    return b > a

for _ in range(3):
    a += 1
    print("a:",a,"b:",b,"cond:",cond())

【讨论】:

    猜你喜欢
    • 2013-02-17
    • 2021-09-29
    • 1970-01-01
    • 2020-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    相关资源
    最近更新 更多