求和.TypeError:“浮动"对象不可迭代

2022-01-09 00:00:00 python typeerror sum

问题描述

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

Today I tried to make a program that would ask a user how many items in a series he/she wanted me to sum. This series would be used to approximate the value of pi. Here is my code thus far:

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()

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

However, this code generates the error message:

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 循环中的值求和?我被卡住了:/

How can I get python to sum the values in my for loop if my for loop is generating floats? I am stuck :/


解决方案

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

Add your results of each iteration into a list:

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

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

Then at the end, get the sum of the list with all your results:

print(sum(myresults))

相关文章