如何使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