如何将浮点数打印为整数?
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
这是我在 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