在Python和Ruby中,带符号的整数除法向负无穷大截断,有符号整数模数与第二个操作数具有相同的符号:
>>> (-41) / 3
-14
>>> (-41) % 3
1
Run Code Online (Sandbox Code Playgroud)
但是,在C和Java中,带符号的整数除法截断为0,有符号整数模数与第一个操作数的符号相同:
printf("%d\n", (-41) / 3); /* prints "-13" */
printf("%d\n", (-41) % 3); /* prints "-2" */
Run Code Online (Sandbox Code Playgroud)
在C和Python中执行相同类型的除法和模数的最简单,最有效的方法是什么?
我正在尝试以简写形式编写if else语句。如果不是,则检查一个值,如果尚未达到一个值,则递增;否则减去一个设定的数字。
如果可以的话,这是可行的,但是尝试将其作为速记版本并被卡住。
在这种情况下,您不能使用-=或+ =的问题吗?任何了解的帮助将不胜感激。
尝试过day- = 7,如果day == 7,否则day + = 1-但知道这是错误的,因为已经在左侧引用了var。
如果还可以的话
day = 5
if day == 7:
day-=7
else:
day+=1
Run Code Online (Sandbox Code Playgroud)
尝试以简写形式编写此代码,但在正确的日子+ = 1时出现错误,因为这显然是错误的。寻找有关如何在day!= 7时增加日值的建议
day = 5
day-=7 if day == 7 else +=1
Run Code Online (Sandbox Code Playgroud)
+ = 1引发错误。
期望一天是6