Python 中的操作 n % 2 == 1 和 n //= 2 有何作用?

use*_*676 2 python syntax modulo floor-division

有人可以解释一下语义吗

n % 2 == 1
Run Code Online (Sandbox Code Playgroud)

n //= 2
Run Code Online (Sandbox Code Playgroud)

据我了解,检查byn % 2 == 1除法的余数是否为。n21

关于什么n //= 2?这是楼层划分吗?但什么?n除以2

Ann*_*Zen 5

n % 2 == 1True意思是如果余数等于1则返回,与检查是否为奇数n / 2相同。n

因此,如果n等于6,则以上表达式将返回False。如果n等于9,则返回True

n //= 2意思是重新定义n变量,但是将计算出的下限除法的原始值赋给2它。

因此,如果n等于6,则上述表达式会将其值更改为3。如果n等于9,则将其值更改为4