Python 3.7 вопрос.
У меня есть файл, похожий на этот:
1
10 10 10
3
25 29 10
52 55 30
70 70 20
0
, где 1 показывает, что будет 1 строка, 3 показывает 3 придет, 0 отмечает конец файла. Как этого добиться?
Я пытался
def read_each_course(filename):
with open(filename, 'r') as f:
lines = []
content = f.readlines()
lines += [x.rstrip() for x in content]
for i in lines:
while True:
if str(i).count(" ") == 0:
lines_to_read = int(i)
break
return lines_to_read, next(i)
, но это не сработает, я получаю
TypeError: 'str' object is not an iterator
for the next(i).
Моя идея состояла в том, чтобы получить список списков как элементы типа: [[1, [10, 10, 10]], [3, [25, 29, 10], [52, 55, 30], [70, 70, 20]]]
НО, я не уверен, что этот дизайн является хорошей идеей в целом? Или же тогда это должен быть скорее единый связанный список, поскольку конечная цель состоит в том, что, поскольку 3 числа являются координатами, мне придется использовать только следующий элемент, такой как x2-x1, y2-y1, штраф, если его опустить (дополнительная стоимость) где общая стоимость - гип. из ху треугольника, что хорошо, я могу рассчитать это.