我对以下代码的输出有问题:
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)