通过用户输入设置打印的小数位数

时间:2017-09-27 07:02:32

标签: python printing formatting

我正在用Python编写并写了一个简短的程序,它返回用户提供的数字的平方根。输出或打印行分别如下所示:

print 'The square root of %d is %.2f' % (x, math.sqrt(x))

以x作为用户输入。

我的问题:如何通过用户输入调整小数结果?

非常感谢!

1 个答案:

答案 0 :(得分:2)

首先获取您想要的小数位数输入:

y = int(raw_input("How many decimal places? "))

然后您可能希望使用str.format来简化您的打印​​声明:

print 'The square root of {} is {:.{dec}f}'.format(x, math.sqrt(x), dec=y)

我可能(我可能)在这里错了,但我不确定你是否可以做你正在尝试用%运营商实现的目标。不管怎样,%往往被视为一个被弃用的运算符,特别是大多数人都转换到Python 3.但是,既然你正在使用Python 2,那么谢天谢地str.format在Python 2.7中。