如果语句错误。数字与输出最大值的比较

时间:2018-09-05 14:45:29

标签: python if-statement

我正在用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的整数都会产生此错误:

enter image description here

2 个答案:

答案 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)) 

您是只是尝试进行功能比较还是要接受其他方法? 这样将以较少的步骤完成相同的任务。