В списке неправильно определяется большее число
Непонятно, почему максимум неправильно определяется.
К пустому списку добавляем числа 3 раза:
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
Сам код:
sp = [] # пустой список
sp.append([i for i in input().split()]) # к нему добавляем 3 раза по 5 чисел
sp.append([i for i in input().split()])
sp.append([i for i in input().split()])
curr_max = sp[0][0] # максимальным числом вначале является первый элемент
for i in range(len(sp)): # тут 3 (0,1,2)
for j in range(len(sp[i])): # тут 5 (0,1,2,3,4)
if sp[i][j] > curr_max:
curr_max = sp[i][j]
print(curr_max)
И ответ получится 9 а не 15. Почему? Дебагер в Pycharm не помог, просто стоит 9 и все.
ссылка на repl.it, чтобы удобнее смотреть.
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Вы сравниваете строки, а не числа. Строки сравниваются в лексикографическом порядке - т.е. '9' > '100', т.к. сравнивается '9' и '1'.
Попробуйте так:
sp = []
n = 3
for _ in range(n):
sp.extend(map(int, input().split()))
curr_max = max(sp)
print(curr_max)