Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使python函数更好?_Python - Fatal编程技术网

如何使python函数更好?

如何使python函数更好?,python,Python,我目前正在创建一个函数,允许用户输入最高的整数 代码: 当我尝试输入值3001000200时,它总是返回300,很明显它应该是1000。有人有解决方案吗?将字符串转换为整数: 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:

我目前正在创建一个函数,允许用户输入最高的整数

代码:


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

将字符串转换为整数:

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

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


尝试使用max函数

def max_num(x,y,z):
      return (max(x,y,z))
输出

higher num has been found 2
higher num has been found 3
higher num has been found 10
1 is not higher than 10

1000>300,但“1000”<“300”是的,将这些字符串转换为整数。
input
返回字符串。你在比较这些。不是它们所表示的关于
max((num1,num2,num3))
max('300','1000')
->
'300'
m的整数,同样,练习可能是创建一个用户定义的
max
,而不是简单地查找最大值。最好指出根本问题,而不是提供他们可能不需要的解决方案
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))
def max_num(x,y,z):
      return (max(x,y,z))
def max_num(*args):
    highestNum = 0
    for num in args:
        if num > highestNum:
            highestNum = num
            print("higher num has been found " + str(highestNum))
        else:
            print(str(num) + " is not higher than " + str(highestNum))

max_num(2,3,10,1)
higher num has been found 2
higher num has been found 3
higher num has been found 10
1 is not higher than 10