为什么我的立方数字循环会产生不正确的输出



我对以下代码的输出有问题:

m=10
total_n = 0
n = 1
while n <= m // 2:
for i in range(0, n):
total_n += (n - i) ** 3
n += 1
print(total_n)

由于某种原因,输出为1,10,46146371。

但当我把它写在纸上时,应该是1.9,36100225。

知道代码的哪一部分不太正确吗?干杯

要获得所需的正确结果,只需在第一个循环中初始化total_n(请参阅下面的代码(。按照你的做法,total_n会跟踪所有的总和,但你似乎只想要每个n的总和。

m = 10
n = 1
while n <= m // 2:
total_n = 0

for i in range(0, n):
total_n += (n - i) ** 3
n += 1
print(total_n)

最新更新