在用户输入的整数列表上应用max()函数不会返回最大值吗?

问题描述 投票:0回答:3

我想在用户提供的数字列表中找到最大值和最小值。

value = input("Please enter an integer separated by commas. :")

i = value.split(',')

value1 = max(i)
value2 = min(i)

print("max =", value1)

print("min =", value2)

执行代码并输入1,2,4,36,5结果

Please enter an integer separated by commas. :1,2,4,36,5
max = 5
min = 1

为什么max()函数返回5而不是36

python max min
3个回答
0
投票
它们是字符串格式,所以。只需将它们映射为整数即可。

value = input("Please enter an integer separated by commas. :") i=list(map(int, value.split(','))) #<---- Here print(i) value1 = max(i) value2 = min(i) print("max =", value1) print("min =", value2)


0
投票
将其转换为整数以获得适当的结果

value = input("Please enter an integer separated by commas. :") i=value.split(',') i = [int(x) for x in i] value1 = max(i) value2 = min(i) print("max =", value1) print("min =", value2) OR value = input("Please enter an integer separated by commas. :") i=[int(x) for x in value.split(',')] value1 = max(i) value2 = min(i) print("max =", value1) print("min =", value2)


0
投票
您应该将所有i元素都强制转换为int

value = input("Please enter an integer separated by commas. :") #input 1,2,4,36,5 i=[int(el) for el in value.split(',')] value1 = max(i) value2 = min(i) print("max =", value1) print("min =", value2)

OR

i = [int(el) for el in input("Please enter an integer separated by commas. :").split(',')] #input 1,2,4,36,5 value1 = max(i) value2 = min(i) print("max =", value1) print("min =", value2)

输出

max = 36 min = 1

[原始代码使i中的元素成为字符串['1', '2', '4', '36', '5'],因此只需将它们更改为int,并且使minmax函数正常工作。    
© www.soinside.com 2019 - 2024. All rights reserved.