如何将浮点数打印为整数?

How do I print a float as an integer?

这是我在 Python class 中遇到的家庭作业。我不允许导入任何东西或使用 try-except。

我想在不使用 min() 函数的情况下取 3 个数字并打印最小的一个。我遇到的问题是,如果数字类似于 5,它会打印为 5.000000,因为我将所有数字都转换为浮点数。我尝试使用 rstrip('0') 并将其打印为 5. 这很有意义,但我需要将整数打印为整数,将浮点数打印为浮点数。有没有我缺少的更简单的方法?

我的参考代码:

def min3(num1, num2, num3):
if (num1 <= num2):
    if(num1 <= num3):
        return num1
    else:
        return num3

if (num2 <= num1):
    if(num2 <= num3):
        return num2
    else:
        return num3

def main():
    num1 = float(input("Please enter the first number: "))
    num2 = float(input("Please enter the second number: "))
    num3 = float(input("Please enter the third number: "))

    smallest_num = min3(num1, num2, num3)
    print("The smallest number is %f." %(smallest_num))

main()

你可以这样做

if smallest_num.is_integer():
   # print as integer
   print "The smallest is %d" % smallest_num
else:
   # print as float
   print "The smallest is %f" % smallest_num