我想用速记法写一个if-else语句。 if-else检查一个值,如果没有达到某个值则递增,否则减去一个设定的数字。你知道吗
作为一个如果否则这是可行的,但试图做这作为一个速记版本,我卡住了。你知道吗
在这种情况下,您不能使用-=或+=吗?如有任何帮助,我们将不胜感激。你知道吗
如果day==7,则尝试day-=7,否则day+=1,但要知道这是错误的,因为左侧已经引用了var。你知道吗
如果还有别的办法的话
day = 5
if day == 7:
day-=7
else:
day+=1
试着用速记的方式写这篇文章,我在正确的日期得到了一个错误+=1,因为这显然是不正确的。寻找一些建议,如何增加日价值,如果一天!=7个
day = 5
day-=7 if day == 7 else +=1
+=1抛出一个错误。你知道吗
预计今天是6点
在Python的“条件表达式”的上下文中,不能在某些地方使用赋值运算符
-=
或+=
,这是对的。我的理解是,if else的速记是一个表达式,而不是一个语句,如您最初的示例所示。不能在右侧进行赋值,而是在左侧指定返回值(如果为false),如果为true,则指定返回值(或变量赋值)。你知道吗在第二次尝试中,在右侧,使用了不带变量的赋值运算符。如果希望条件的求值采用更复杂的值,可以指定给变量:
请参阅Samantha的答案以获得更优雅的解决方案:
+=
增量赋值运算符用于计算表达式中的True
或False
,因此-7
在左边是必需的,而+= 1
在其他地方是赋值的。我在她的回答中重复相反的解决方案来说明语法的机制;在左边使用递减-=
运算符强制在右边使用-按照上面的逻辑,下面我最初的建议使用左边的递减
-=
赋值运算符;如果为true,则返回day-7
,如果为false,则返回day-(day+1)
。感谢萨曼莎指出这一点。你知道吗原创
尝试:
关于这一点有很多问题:here和here,例如。你知道吗
你读这篇文章的方式是“如果
day == 7
,把负7加到day
,否则,把1加到day
”Dagorodir的原始答案不起作用,因为它将从当前的day值减去(
day
+1),如果day != 7
。因此,使用您的示例,使用day
的起始值5,从另一个答案运行代码的结果是-1
。你知道吗对我来说,这是最可读的,使用模运算
相关问题 更多 >
编程相关推荐