问题描述
由于我对 Python 不太熟悉,请有人解释一下 Python 的语义
n % 2 == 1
和 n //= 2
。
据我了解,n % 2 == 1
检查 n 除以 2 的余数是否为 1,对吗?
n //= 2
呢?这是楼层划分吗?但什么? n 下降了 2?
解决方法
n % 2 == 1
表示如果 True
的余数等于 1,则返回 n / 2
,与检查 n
是否为奇数相同。
所以如果 n
等于 6
,上面的表达式将返回 False
。如果 n
等于 9
,它将返回 True
。
n //= 2
表示重新定义n
变量,但将2
的楼层划分计算到其中来分配原始值。
因此,如果 n
等于 6
,则上述表达式将其值更改为 3
。如果 n
等于 9
,它会将其值更改为 4
。