我正在用python写一个简单的代码,但是遇到了一个不寻常的错误。这些语句将比较三个数字并返回最大值。在大多数情况下,程序可以正常运行,但是,例如,如果num3是3位数字,而其他不是,则出现比较错误。有什么想法吗?
def maxNum(num1, num2, num3):
if num1 >= num2 and num1 >= num3:
return num1
elif num2 >= num3 and num2 >= num1:
print (num2)
return num2
else:
print (num3)
return num3
num1 = input("Please enter first number: ")
num2 = input("Please enter second number: ")
num3 = input("Please enter third number: ")
print ("Max number is:", maxNum(num1, num2, num3))
请点击图片链接。我已按照建议更改了代码,但仍然出现错误。看来我输入的任何大于或等于100的整数都会产生此错误:
答案 0 :(得分:0)
尽管我一点也不精通Python,但我认为区分所有可能发生的情况的方法很难理解。相反,我建议如下迭代输入值。该方法使用附加变量来存储潜在结果。
def maxNum(num1, num2, num3):
result = num1
if (num2 > result)
result = num2
if (num3 > result)
result = num3
print(result)
return result
答案 1 :(得分:0)
1 def max_num(num1, num2, num3):
2 biggest = max([int(num1),int(num2), int(num3)])
3 return biggest
4
5 num1 = input("Enter First Number: ")
6 num2 = input("Enter Second Number: ")
7 num3 = input("Enter Third Number: ")
8
9
10 print(max_num(num1, num2, num3))
您是只是尝试进行功能比较还是要接受其他方法? 这样将以较少的步骤完成相同的任务。