我怎样才能使这个python功能更好?

我目前正在创建一个函数,该函数将提供用户输入的最大整数。

码:

def max_num(x,y,z):

    if x>=y and x>=z:
       return x
    elif y>=x and y>=z:
       return y
    else:
       return z

num1= input("1st value: ")

num2= input("2nd value: ")

num3= input("3rd value: ")

print("The highest integer is:",max_num(num1,num2,num3))

当我尝试输入值300,1000,200时,它总是返回300,显然它应该是1000。有人有解决方案吗?

评论
  • 环嘉玉
    环嘉玉 回复
    num1= int(input("1st value: "))
    num2= int(input("2nd value: "))
    num3= int(input("3rd value: "))
    
    print("The highest integer is:",max_num(num1,num2,num3))
    
  • oautem
    oautem 回复

    只需使用预定义的max()函数即可:

    
    num1= input("1st value: ")
    
    num2= input("2nd value: ")
    
    num3= input("3rd value: ")
    
    print("The highest integer is:",max(int(num1),int(num2),int(num3)))
    
    
  • sunde
    sunde 回复

    将字符串转换为整数:

    def max_num(x,y,z):
    
        if int(x)>=int(y) and int(x)>=int(z):
           return x
        elif int(y)>=int(x) and int(y)>=int(z):
           return y
        else:
           return z
    
    num1= input("1st value: ")
    
    num2= input("2nd value: ")
    
    num3= input("3rd value: ")
    
    print("The highest integer is:",max_num(num1,num2,num3))