为什么我的字符串不显示我想要的小数点?

2024-09-30 08:28:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做一个程序,如果我输入度,它会把它转换成弧度,然后用泰勒理论计算它的正弦,余弦和正切。 注意,我不应该调用数学模块

def sinAns(rad):
    rad=rad
    radPlaceHolder=rad
    counter=0
    numberForFacto=1
    tOld=rad
    tNew=0
    tPlaceHolder=rad
    pr=precision+1
    tDiff=1
    sinAns=0

    while abs(tDiff)>.5*10**(-pr):       
        tOld=tPlaceHolder
        tNew=(-1*tOld*rad*rad)/((numberForFacto+1)*(numberForFacto+2))
        tPlaceHolder=tNew       
        counter+=1
        numberForFacto+=2
        tDiff=abs(tOld)-abs(tNew)
        radPlaceHolder+=tNew
        sinAns=radPlaceHolder
    return sinAns

这就是我计算正弦的代码

print("{0:}{1:{2}f}".format("sin= ", sinAns(rad), precision))

这是它稍后在程序中打印值的行,我已经将精度默认为10。但当我运行程序时,它显示的是0.500000,而不是我想要的精度。即使我将精度更改为2-10之间的任何其他值,它始终显示0.500000

你知道怎么解决这个问题吗?已经调整了一个小时,仍然没有任何线索


Tags: 程序counter精度absprprecision正弦rad

热门问题