我在 python 中摆弄一行 if 和 for 语句,遇到了以下问题:
我可以做类似下面的工作:
state = 1 if state == 4 else 2
但我想在相同的上下文中使用 = 和 +=,如下所示:
state = 1 if state == 4 else state+=1
如何在一行中实现这一点?
请您参考如下方法:
+= 不是运算符,它是一个语句。不能在表达式中使用语句。
由于 state 是一个整数,只需使用 +,是一个运算符:
state = 1 if state == 4 else state + 1
最终结果与使用 += 就地添加完全相同。
更好的是,使用 % 模运算符:
state = (state % 4) + 1
它首先实现了您想要实现的目标;将 state 限制为 1 和 4 之间的值。
