寻找总和。 TypeError:'float'对象不可迭代

时间:2014-02-22 22:18:33

标签: python sum typeerror

今天我尝试制作一个程序,询问用户他/她希望我总结的系列中有多少项。该系列将用于近似pi的值。这是我到目前为止的代码:

from math import pi

def pi_sum():
n = eval(input("How many terms do you want to sum: "))
for i in range(n):

    denominator= 2.0 * i + 1
    sign = (-1) ** i
    numerator = 4
    result = (4 * sign) /denominator
    print(result)
    print(sum(result))



pi_sum()

但是,此代码会生成错误消息:

File "C:/Users/Crisa/PycharmProjects/untitled/piprogram.py", line 14, in pi_sum
print(sum(result))
TypeError: 'float' object is not iterable

如果我的for循环生成浮点数,如何让python对我的for循环中的值求和?我被卡住了:/

1 个答案:

答案 0 :(得分:3)

将每次迭代的结果添加到列表中:

myresults = []
for i in range(n):
    ...
    myresults.append(result)

然后在最后,获得列表的总和以及所有结果:

print(sum(myresults))