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。
知道如何解决这个问题吗?折腾了一个小时,还是没有头绪。
解决方案
你错过了重点.
:
print("{0}{1:.{2}f}".format("sin= ", sinAns(rad), precision))
# ^
推荐阅读
- angular - Error: Uncaught (in promise) - Angular error - NullInjectorError:
- python - Get the second channel from a three channels image as a Numpy array
- vue.js - This relative module was not found: * ../services/Repository, Vue error
- java - empty lines outside of method body with intellij getter/setter templates
- jquery - Push array based on JSON value and key
- sqlite - Order by date in SQLite3
- python - How can I split this list when there's a double new line?
- r - Error while using "EpiEstim" and "ggplot2" libraries
- excel - Creating a function in excel VBA to calculate the average point in a circular set of numbers
- swift - Dependency Setup and App pre-preperation in SwiftUI 2.0