设置通过用户输入打印的小数位数
问题描述:
我在Python中涉猎并编写了一个简短的程序,它返回用户提供的数字的平方根。输出,分别打印线,看起来像这样:设置通过用户输入打印的小数位数
print 'The square root of %d is %.2f' % (x, math.sqrt(x))
其中x为用户输入。
我的问题:我如何通过用户输入调整结果小数位数?
非常感谢!
答
首先得到输入你多少个小数位由希望:
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中。
+0
它工作,谢谢! – redscale
即使您*打印了额外的数字,“math.sqrt”也不会计算更有意义的数字。打印*少*数字将工作正常,但打印*更*会给你噪音。 – user2357112