我正在编写一个python代码,要求用户输入,然后必须使用他们的输入来给出表达式答案的小数位数.
userDecimals = raw_input (" Enter the number of decimal places you would like in the final answer: ")
然后我将其转换为整数值
userDecimals = int(userDecimals)
然后我编写表达式,我希望答案的位数与UserDecimals的用户输入一样多,而我不知道该如何完成.
表达式是
math.sqrt(1 - xx **2)
如果这还不够清楚,我将尝试更好地进行解释,但是我是python的新手,我还不知道该怎么做.
解决方法:
使用string formatting并将userDecimals传递给format specifier的精度部分:
>>> import math
>>> userDecimals = 6
>>> '{:.{}f}'.format(math.sqrt(1 - .1 **2), userDecimals)
'0.994987'
>>> userDecimals = 10
>>> '{:.{}f}'.format(math.sqrt(1 - .1 **2), userDecimals)
'0.9949874371'