用户输入值用作十进制值python

我正在编写一个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'
上一篇:python基础(一)


下一篇:python-Django中的全局十进制舍入选项