用户输入值用作十进制值 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 的新手,我还不知道如何做很多事情。

使用字符串格式并将userDecimals传递给格式说明符的precision部分:

>>> 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'

设置打印语句的格式时,可以指定要显示的有效数字的数量。 例如'%.2f' % float_value将显示两个小数位。 有关更详细的讨论,请参阅此问题。

你想要这样的东西:

import math
xx = .2
userDecimals = raw_input (" Enter the number of decimal places you would lik    e in the final answer: ")
userDecimals = int(userDecimals)
fmt_str = "%."+str(userDecimals)+"f"
print fmt_str % math.sqrt(1 - xx **2)

输出:

Enter the number of decimal places you would like in the final answer: 5
0.97980

相关内容

  • 没有找到相关文章

最新更新