Python ValueError:以10为基数的int()的文本无效:';1,2,3';

Python ValueError:以10为基数的int()的文本无效:';1,2,3';,python,Python,我想得到三个值之间的最大值,但我得到了一个错误 def maxNumber(a,b,c): print('The maximum number is: {}'.format(max(a,b,c))) a,b,c = int(input('Please Enter Three Numbers')) maxNumber(a,b,c) 请输入三个数字1,2,3 ----------------------------------------------------------------

我想得到三个值之间的最大值,但我得到了一个错误

def maxNumber(a,b,c):
    print('The maximum number is: {}'.format(max(a,b,c)))

a,b,c = int(input('Please Enter Three Numbers'))
maxNumber(a,b,c)

请输入三个数字1,2,3
---------------------------------------------------------------------------
ValueError回溯(最近一次调用上次)
在里面
2打印('最大数量为:{}'。格式(最大(a、b、c)))
3.
---->4 x,y,z=int(输入('请输入三个数字')
5最大值(x,y,z)
ValueError:基数为10的int()的文本无效:“1,2,3”

如果要在一行中获取多个输入,必须将输入的值拆分

x, y, z = input("Enter three values: ").split() 
您的解决方案:

def maxNumber(a,b,c):
    print('The maximum number is: {}'.format(max(a,b,c)))

a,b,c = input('Please Enter Three Numbers').split()
maxNumber(a,b,c)

当要求输入值时,请输入空格分隔的值或相应拆分。

您的输入是一个由逗号分隔的数字字符串。 您必须首先将字符串转换为字符串列表(使用拆分), 然后将字符串数转换为整数并传递给函数:

def maxNumber(a,b,c):
print('The maximum number is: {}'.format(max(a,b,c)))

string_input = input('Please Enter Three Numbers')
list_of_strings = string_input.split(',')
list_of_ints = [int(i) for i in list_of_strings]
maxNumber(list_of_ints)

max([int(input('Please Enter a Number'))表示范围(3)中的i)

您需要使用
split()
来分割输入,然后将每个输入转换为一个数字。它会弹出另一个错误值错误:输入三个值后没有足够的值来解包(预期为3,得到1)。存在两个问题-首先,您没有将数字转换为int-这意味着'12'将小于'2',这是一个bug。。。。其次,您没有确定split方法的分隔符。如何输入值,这些值必须用空格分隔,因为默认的split()按空格分割。如果要输入逗号分隔的值,请使用split(“,”),您可以单独将值转换为int,也可以参考@theletz answer。
def maxNumber(a,b,c):
print('The maximum number is: {}'.format(max(a,b,c)))

string_input = input('Please Enter Three Numbers')
list_of_strings = string_input.split(',')
list_of_ints = [int(i) for i in list_of_strings]
maxNumber(list_of_ints)