Python:从用户获取最大数量的输入
这是一个由用户输入的简单最大编号标识问题 当尝试获取函数中作为参数传递的最大数字时,它会工作。但当我从用户那里动态地得到3个输入数字时,输出实际上并不是更大的数字。请更正Python:从用户获取最大数量的输入,python,Python,这是一个由用户输入的简单最大编号标识问题 当尝试获取函数中作为参数传递的最大数字时,它会工作。但当我从用户那里动态地得到3个输入数字时,输出实际上并不是更大的数字。请更正 def maxof2nums(x,y): if (x>y): return x return y a= input('Enter value for a=') b= input('Enter value for b=') c= input('Enter value for c=') def maxo
def maxof2nums(x,y):
if (x>y):
return x
return y
a= input('Enter value for a=')
b= input('Enter value for b=')
c= input('Enter value for c=')
def maxof3nums(a,b,c):
return maxof2nums(a,maxof2nums(b,c))
print ("Maximum of 3 numbers=",maxof3nums(a,b,c))
我会这样做:
nb_list = []
nb_list.append(input('Enter value for a='))
nb_list.append(input('Enter value for b='))
nb_list.append(input('Enter value for c='))
print(max(nb_list))
如果您想保留代码而不是使用内置的
max
方法,那么比较input
中的字符串而不是数字只是一个小疏忽。将它们转换为int
,它应该可以正常工作
def maxof2nums(x,y):
if (x>y):
return x
return y
a= int(input('Enter value for a='))
b= int(input('Enter value for b='))
c= int(input('Enter value for c='))
def maxof3nums(a,b,c):
return maxof2nums(a,maxof2nums(b,c))
print ("Maximum of 3 numbers=",maxof3nums(a,b,c))
pyhton有一个将列表作为输入的
max()
函数。我建议简单地使用它。你的代码实际上对我有用吗?你能举一个例子,它打印的号码是错误的吗?编辑:您正在按字典进行比较,将输入转换为具有int(…)
的整数,然后其工作正常。您的输入是string
值。在传递到函数之前,将它们转换为int()
。谢谢。知道了!