2017-09-27 66 views
3

我在Python中涉猎并编写了一个简短的程序,它返回用户提供的数字的平方根。输出,分别打印线,看起来像这样:设置通过用户输入打印的小数位数

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

其中x为用户输入。

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

非常感谢!

+0

即使您*打印了额外的数字,“math.sqrt”也不会计算更有意义的数字。打印*少*数字将工作正常,但打印*更*会给你噪音。 – user2357112

回答

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中。

+0

它工作,谢谢! – redscale