问题描述
今天我尝试制作一个程序,询问用户他/她希望我对系列中的多少项目求和.该系列将用于近似 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))