25储物柜的问题不知道我的货到哪儿去了

2024-05-08 16:11:56 发布

您现在位置:Python中文网/ 问答频道 /正文

以下内容来自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

有什么想法吗?你知道吗


Tags: 答案代码inforif状态countrange
1条回答
网友
1楼 · 发布于 2024-05-08 16:11:56

语句count_factor(a) += 1毫无意义。你知道吗

展开+=运算符时,等价于:

count_factor(a) = count_factor(a) + 1

你给一个函数赋值,这是没有意义的。你知道吗

相关问题 更多 >