为什么这些速记不能相互配合?

shorthand_fan

我想知道如何利用if-else的简写形式以及+=在Python中使用以下简单表达式:

我试图在所有地方都放上括号,然后更改+=*=没有改变的情况。

这按预期工作:

a, b = 0, True
for i in range(123):
     if b == True:
          a = a + 1

仍按预期工作,尝试if-else的简写使我得出以下结论:

a, b = 0, True
for i in range(123):
     a = a + 1 if b == True else a

最后尝试写:

a, b = 0, True
for i in range(123):
     a += 1 if b == True else a:

失败,令人惊讶的是,我很快就得到了巨大的整数 a

此外,我真的很想找一些更人手的东西,例如:

a, b = 0, True
for i in range(123):
     a += 1 if b

for循环需要保持原样,因为就我而言,还有其他影响的操作b

基多

最接近您的证明可能是:

a, b = 0, True
for i in range(123):
   a += b

由于bool是int的子类型,因此无需进行转换。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章