我开始了我的冒险与Python。我的当前程序非常简单,它必须使用Leibnitz公式计算pi,当“a”varibale的模块小于x时停止工作。到目前为止,它看起来如下:
from math import fabs
from math import pi
x=float(input('Enter accuracy of calculating:'))
sum=0
a=0
n=0
while True:
a=float(((-1)**n)/(2*n+1))
sum+=a
n+=1
result=sum*4
if fabs(a)<x:
break
print('Calculated pi:',result)
print('Imported pi:', pi)
看起来不错,但问题是: 在我的版本中,它工作的很好,但在我朋友的Geanie上,它计算0.0。 此外,在Ideone.com(不输入键盘,仅x=0.0001)它也返回0.0。
有人知道问题在哪里吗?
试试这个
而不是这个
^{pr2}$原因:我不认为将}的除法中设置除数或被除数将确保Python不会截断余数(这是python3.0之前整数除法的默认设置)。在
a
本身设置为float是有意义的,但是在产生{附带问题:您的样式与official Python style guidelines不匹配,因此您可能需要更改它。在
相关问题 更多 >
编程相关推荐