【问题标题】:rounding 1 to have two floating digits四舍五入 1 有两个浮动数字
【发布时间】:2016-06-21 06:49:16
【问题描述】:
'''
Your task is to write a function which returns the sum of following series upto nth term(parameter).

Series: 1 + 1/4 + 1/7 + 1/10 + 1/13 + 1/16 +...
'''

有点重要,但我尝试使用round(1,2) 显示1.00,但它显示1.0,我可以用什么在Python 中显示1.00

def series_sum(n):
    # Happy Coding ^_^
    sum = 0
    for i in range(n):
        sum += 1/(1+(3*i))
    return round(sum, 2)

这是codewars 中编码挑战的返回值,而不是打印。所以它应该是返回,你只需编写方法。

【问题讨论】:

  • 你用的是什么版本的 Python?
  • 3.4.3是版本
  • 你确定他们想要一个花车回来吗?这真的没有意义。您遇到的实际问题/错误是什么?
  • 这就是问题想要的!请看我添加的细节!

标签: python floating-point integer rounding


【解决方案1】:

对于数值计算,小数点后的数字无关紧要。我相信你想要一个带 2 位小数的字符串表示。

在 Python 2.x 中,你会这样做:

>>> "%.2f"%1.0
'1.00'

在 Python3.x 中,你会这样做:

>>> "{:.2f}".format(1.0)
'1.00'

【讨论】:

  • 这是一个返回值而不是打印
  • 我向您展示了将其转换为具有给定小数点数的字符串的方法。您如何处理它 - 退回或打印 - 取决于您。
【解决方案2】:

使用format函数:

return format(sum, '.2f')

【讨论】:

  • @MonaJalal 请注意,这仍然是字符串,您不会返回浮点数。而且您使用的网站不是公开可见的,因此问题中的更多信息会有所帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-12
  • 1970-01-01
  • 2012-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多