【问题标题】:Setting number of decimals for print via user input通过用户输入设置打印的小数位数
【发布时间】:2017-09-27 07:02:31
【问题描述】:

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

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

x 作为用户输入。

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

非常感谢!

【问题讨论】:

  • 即使您 打印 额外的数字,math.sqrt 也不会计算更多有效数字。打印 less 数字可以正常工作,但打印 more 只会给您带来噪音。

标签: python printing formatting


【解决方案1】:

首先通过以下方式输入您想要的小数位数:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-19
    • 2018-08-05
    • 1970-01-01
    相关资源
    最近更新 更多