【发布时间】:2026-01-27 00:25:02
【问题描述】:
这是针对我遇到问题的 Python 课程中的家庭作业。我不允许导入任何东西或使用 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()
【问题讨论】:
-
如果你真的想要
int(input(...)),为什么还要float(input(...))? -
对不起,我应该澄清一下,用户输入的数字可以是整数或小数。
-
为什么不只是
print("The smallest number is", smallest_num)?