我想计算序列中前25个数字的总和:2、4、8、16、32 ....
为什么我收到一个输出,说总和应该是50,什么时候应该更高?
t = 2
sum = 0
for i in range (1, 26) :
sum += t
t *= 2
print("i: ", i, "t: ", t, "sum: ", sum)
i: 25 t: 4 sum: 50
答案 0 :(得分:2)
这只是一个小错字,在循环中,您将t
添加到sum
时应该是t**i
,而且,也不能将变量命名为a的副本现有关键字,使您无法访问该关键字。
(整个代码)也是如此:
t = 2
s = 0
for i in range (1, 26) :
s += t
t *= 2
print("i: ", i, "t: ", t, "sum: ", s)
或者,您可以执行以下操作:
t = 2
s = 0
for i in range (1, 26) :
s += t**i
print("i: ", i, "t: ", t**i, "sum: ", s)