Python 2.7 标记、编号循环元素+;总结

Python 2.7 标记、编号循环元素+;总结,python-2.7,Python 2.7,这是当我在循环中运行5个元素的程序时得到的结果 import math from decimal import Decimal def s(x): return (Decimal(0.298**k))/Decimal(math.factorial(k)) prevSK = 0 sum=0 for k in (range(0,501)): try: a = (round(s(k),5)) r = (round(s(k)/prevSK,5))

这是当我在循环中运行5个元素的程序时得到的结果

import math
from decimal import Decimal

def s(x):
    return (Decimal(0.298**k))/Decimal(math.factorial(k))

prevSK = 0
sum=0

for k in (range(0,501)):
    try:
        a = (round(s(k),5))
        r = (round(s(k)/prevSK,5))
        print a
        print r
        prevSK = s(k)
        summa = sum=sum+a
    except Exception, e:
        print e
        prevSK = (Decimal(s(k),))

    continue

print "The sum is:", summa
这就是我走了多远。我需要给这些元素(a1,r1,a2,r2…)贴上标签,但我不知道怎么贴

我需要这些a元素是从1到500,如果可能的话,在第二列r元素中是从1到500

在所有这些之后,我必须对一个元素求和,比如Summa=所有元素的和。(更新:已经找到了如何做到这一点,正如您在上面的代码中看到的)


如果有人能帮我,我会非常感激

不确定是否要使用标签打印它们或将它们添加到列表中

但你可以这样做:

 x / 0
 0.298
 0.298
 0.0444
 0.149
 0.00441
 0.09933
 0.00033
 0.0745
 The sum is: 0.34714
import math
from decimal import Decimal

def s(x):
    return (Decimal(0.298**k))/ Decimal(math.factorial(k))

prevSK = 0
sum=0
valueList = {}
for k in (range(0,501)):

    try:
        a = (round(s(k),5))
        r = (round(s(k)/prevSK,5))
        print "a{n}: {a}".format(n=k, a=a)
        print "r{n}: {r}".format(n=k, r=r)
        valueList[k] = {"a{n}".format(n=k) : a, "r{n}".format(n=k) : r}
        prevSK = s(k)
        summa = sum=sum+a
    except Exception, e:
        print e
        prevSK = (Decimal(s(k),))

    continue

print "The sum is:", summa