我想在用户提供的数字列表中找到最大值和最小值。
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
?
它们是字符串格式的,这就是为什么。只要把它们映射成整数。
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)
将其转换为整数以获得正确的结果。
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)
你应该把所有的 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)
或
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']
所以,他们只需要改成ints,就可以了。min
和 max
功能才能正常工作。