以下内容来自ProofWiki(只是稍微修改了数字):
有一所学校有25名学生,相应地有25个储物柜,所有的储物柜一开始都是关闭的。第一个学生打开每个储物柜。第二个学生从第二个开始,每隔一个就关上一个储物柜。第三个学生从第三个学生开始,每三个学生改变一个储物柜的状态。也就是说,如果储物柜是开着的,她就把它关上,如果是关着的,她就把它打开。同样地,直到所有25名学生都通过了储物柜。第25个学生完成后,哪些储物柜是打开的,哪些是关闭的?你知道吗
我已经知道答案都是完美的正方形,我明白为什么。我的目标是尝试用代码来解决问题(我对编码还比较陌生),但我不知道怎么了。你知道吗
代码如下:
for a in range (1,26):
count_factor(a) == 0
def count_factor(a):
for a in range (1,26):
for b in range (1,26):
if b%a == 0:
count_factor(a) += 1
total = 0
for a in range (1,26):
if count_factor(a)%2 == 1:
total = total + 1
print (total)
预期的输出应该只有10。但是,它说有语法错误,不能分配给函数调用
count_factor(a) += 1
有什么想法吗?你知道吗
语句
count_factor(a) += 1
毫无意义。你知道吗展开
+=
运算符时,等价于:你给一个函数赋值,这是没有意义的。你知道吗
相关问题 更多 >
编程相关推荐