Мне дают файл, который выглядит так со многими другими строками, которые я даю.
4
5 r begin
20 wr Dark tunnel
Я создал класс для обработки каждой части строки, которую я пытаюсь разделить, используя операцию split(). Для этого я делю на основе пробелов, но, например, в 3-й строке с надписью "Темный туннель" я тоже разбиваю это на части, но мне нужно, чтобы он читался как "Темный туннель".
Другой вопрос, который у меня возникает, заключается в том, что для каждого цикла я хочу выполнить одну и ту же операцию для каждой строки, за исключением первой строки, которая является просто числом 4, где мне нужно умножить это на себя минус 1 (4 * ( 4-1))
Я создал класс, который берет линию разделения и назначает каждую часть, которая разделена. Я также сделал для каждого цикла, но на данный момент он выполняет ту же операцию для каждой строки, включая первую.
class point:
def __init__(self, val, route, title):
self.value = val
self.route = route
self.title = title
Хотите правильно разделить строки и выполнить операцию, отличную от первой.
Для разделения вы можете сделать:
parts = s.split()
val, route, title = parts[0], parts[1], ' '.join(parts[2:])
Для цикла for вы можете сделать:
for index, line in enumerate(lines):
if index == 0:
result = int(line)*(int(line)-1)
else:
# do something else
Все вместе:
for index, line in enumerate(lines):
if index == 0:
result = int(line)*(int(line)-1)
else:
parts = line.split()
val, route, title = parts[0], parts[1], ' '.join(parts[2:])
p = point(val, route, title)
str.split(None,3)
следует избегать разбиения последнего элемента