【发布时间】:2019-02-10 03:40:15
【问题描述】:
我正在从“w3resource”做 Python 练习。练习是“编写一个 Python 函数,从整数值序列中找到一对不同的数字,其乘积为奇数。”。
代码如下所示。我不明白“if product & 1”的全部内容。符号 '&' 似乎是 set.intersection 但不确定。同时,为什么会出现'return True'和'return False'?谁能解释一下?谢谢。
def product(lst):
for i in range(len(lst)):
for j in range(len(lst)):
if i != j:
product = lst[i] * lst[j]
if product & 1:
return True
return False
print(product([2, 4, 6, 8]))
print(product([1, 6, 4, 7, 8]))
【问题讨论】:
-
这是按位的
and: docs.python.org/3/library/… -
product & 1是一种检查数字是否为偶数的神秘方法。最好更明确一点:product % 2。第二个return False声明无法访问,因此完全没有意义。 -
谢谢斯蒂芬和胡安帕!
标签: python