Python

Ошибка в коде питон

Если что, список я отсортировал в экселе по 1 значению пары. Ответ выдаёт неверный, с чем может быть связанно?

s=open("C:\\Users\\zamin\\Downloads\\какашка26.txt")
a=s.readlines()
h=[]
for x in range(1, 211):
h.append(0)
#h это ячейки
#а пары чисел
g=[]
k=0
for x in range(len(a)):
for i in range(len(h)):
vr, kt= map(int, a[x].split())
if vr>h[i]:
h[i]=kt
k+=1
g.append(i)
print(k, g[-1])
Dastan Aysin
Dastan Aysin
43
split надо делать не в самом цикле, а до. И range начинается не с 1 , а с 0.
Павел
Павел
87 165
Лучший ответ
Я не думаю, что есть смысл мучить нежизнеспособного уродца. Вот работающее решение:
 from itertools import islice
from functools import partial
with open("26.txt", 'r') as f:
k, n = map(int, islice(f, 2))
cs, c, j = [0] * k, 0, None
for b, e in map(partial(map, int), map(str.split, islice(f, n))):
i = next(filter(lambda j: cs[j] < b, range(k)), None)
if i is not None:
cs[i] = e; c += 1; j = i
print(c, j + 1)

Или можно так, если тебя частичная аппликация смущает:
 from itertools import islice
with open("26.txt", 'r') as f:
k, n = map(int, islice(f, 2))
cs, c, j = [0] * k, 0, None
for b, e in (map(int, s.split()) for s in islice(f, n)):
i = next(filter(lambda j: cs[j] < b, range(k)), None)
if i is not None:
cs[i] = e; c += 1; j = i
print(c, j + 1)

islice с 2-мя параметрами берёт указанное количество элементов из последовательности (текстовый файл в Питоне является последовательностью строк).
Первые 2 строки преобразуем в int и помещаем в переменные k, n, в соответствии с заданием.
Следующие n строк файла рассматриваем как пары значений типа int, разделённых пробелом. По этим строкам делаем цикл, сразу помещая пары значений в переменные b, e (от begin, end).
В цикле находим первую свободную на момент b ячейку (это то, что и ты пытаешься делать в коде, только оно делается проще и короче при помощи filter).
Если нашли, то сохраняем в неё новое время освобождения, увеличиваем счётчик.
В конце выводим значения счётчика и последнего найденного номера ячейки.
И всё.

Файл целиком зачитывать не нужно, достаточно n + 2 строк.
Хранить все найденные индексы ячеек не нужно, достаточно последнего.
Dastan Aysin Как ты код вставляешь? В плане у тебя его не шакалит, табы сохраняются