圆形浮子

时间:2013-10-03 16:48:28

标签: python

所以我有一个简单的等式,用于舍入作为float导入函数的数字。只是输入导入的数字是53.3它应该仍然认为它是一个“整数”,但是当我没有将它设置为浮点数时我就把它设置为整数,因为它有一个“。”

有什么想法吗?

def cm(centimeter):
    result = round(centimeter / 100, 2)
    print ("%d centimeters is the same as %d meters." % (centimeter, result))
    print (result)

cent=input("Centimeters: ")
cm(float(cent))

问题是这是它输出的内容:

Centimeters: 53.6
53 centimeters is the same as 0 meters.
0.54

它应该是这样的:

Centimeters: 53.6
53.6 centimeters is the same as 0.54 meters.

取出打印(结果),我的不好。它仍然会将其舍入到0米,但是当它不应该看到结果如何输出为0.54时。

2 个答案:

答案 0 :(得分:3)

问题在于您的print功能。

你想说:

print ("%.2f centimeters is the same as %.2f meters." % (centimeter, result))

%d将变量格式化为整数; %f将其格式化为浮点数。 .2设置精度:它显示的小数位数。

答案 1 :(得分:1)

让你的功能如下:

def cm(centimeter):
    result = round(centimeter / 100, 2)
    print ("%s centimeters is the same as %.2f meters." % (centimeter, result))

演示:

Centimeters: 53.6
53.6 centimeters is the same as 0.54 meters.

另请注意,我选择在开始时使用%s而不是%.2f。这样输出将显示整个输入,而不是圆形版本。这意味着,如果用户输入53.006之类的内容,则会显示53.006而非53.01