求和.TypeError:“浮动"对象不可迭代 [英] Finding Sum. TypeError: 'float' object is not iterable

查看:20
本文介绍了求和.TypeError:“浮动"对象不可迭代的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

这篇关于求和.TypeError:“浮动"对象不可迭代的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆