【问题标题】:How can I get my program to print floats?如何让我的程序打印浮点数?
【发布时间】:2016-03-12 21:08:22
【问题描述】:

我编写了一个小程序来帮助我完成数学作业:

import math
def saCircle():
    while True: 
        radius = float(raw_input("Enter the radius: "))
        print "\nFinding area with %d as the radius" % radius  
        x = math.pi * radius**2
        print "\nThe area of your circle is %d\n" % x 
saCircle() 

问题是它会接受一个十进制数,但它不会打印出十进制数的值。

我该如何解决这个问题?

【问题讨论】:

    标签: python string math floating-point geometry


    【解决方案1】:

    使用%f 而不是%d(将您的数字四舍五入为整数)来打印浮点数:

    >>> radius = 4.4
    >>> x = math.pi * radius**2
    >>> print "\nThe area of your circle is %f\n" % x
    
    The area of your circle is 60.821234
    

    This 问题很好地解释了差异。

    【讨论】:

      【解决方案2】:

      浮点数的格式说明符是%f,而不是%d%d 用于整数)。

      print "\nFinding area with %f as the radius" % radius
                                 ^ 
      

      有关详细信息,请参阅printf format strings 上的维基百科文章。

      【讨论】:

      • 谢谢...我去看看。
      猜你喜欢
      • 2020-12-29
      • 1970-01-01
      • 2015-01-06
      • 2021-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多