我在让python2.5shell执行我需要做的事情时遇到了一个问题。我试图让用户输入一个值“n”,表示循环将重复的次数。实际上,我需要用户输入N,它将对应于Gregory–Leibniz级数中的项数,并输出pi的近似值。在
格雷戈里-莱布尼茨系列 pi=4*((1/1)-(1/3)+(1/5)-(1/7)+(1/9)-(1/11)+(1/31)
所以当n是3时,我需要循环计算到1/5。不幸的是,对于total变量,它总是给我一个值0。在
我现在的代码是错误的,我知道。只是想找人帮忙。代码如下:
def main():
n = int(raw_input("What value of N would you like to calculate?"))
for i in range(1,n,7):
total = (((1)/(i+i+1))-((1)/(i+i+2))+((1)/(i+i+4)))
value = 4*(1-total)
print(value)
main()
你需要积累条件。e、 g
当然,你可以更简洁地表达这一点
也许用这个来代替也更自然
总计=0.0 术语=1.0 对于范围(n)内的i: denom=2*i+1 总计+=术语/分母 期限=-期限
因为你用n项的最自然形式,在这个范围内。注意分母计算方法的不同。在
这使用整数除法,因此将得到零:
相反,使用float来获得浮点除法。在
^{pr2}$在Python2中,默认情况下对整数执行
/
操作将得到一个整数。在{{cd3>中的{cd3>总是进行整型除法。在
找到π{Q1)公式。设S是用来近似π的项序列。我们可以看到,S中的第一项是+1,S中的第二项是-1/3,S中的第三项是+1/5,依此类推。求最小项数,使4*S与π之差小于0.01。也就是说,abs(4*S-数学.pi)<;=0.01。在
相关问题 更多 >
编程相关推荐