Python:从用户获取最大数量的输入

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

这是一个由用户输入的简单最大编号标识问题

当尝试获取函数中作为参数传递的最大数字时,它会工作。但当我从用户那里动态地得到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 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()
。谢谢。知道了!