У меня есть входной файл, который выглядит следующим образом:
4 * 2 ^ 3 + 4 ^ 1
2 * 1 ^ 2 + 2 ^ 3
и может быть больше строк.Что мне нужно сделать, это извлечь значение, которое находится перед знаком *
, поэтому для первой строки, которая является 4
.Затем мне нужно сделать кортеж g = [(2,3),(4,1)]
, чтобы пары кортежей были разделены +
, а затем сама пара - ^
.
my_input = open('input.txt').readlines()
lines = [str(line) for line in
open('input.txt','r').read().split('\n')]
per_line = str(lines[0]).split('*')
x = int(per_line[0])
terms = str(per_line[1].split('+'))
Теперь, если я print terms
, я получу ['2 ^ 3 ', ' 4 ^ 1']
, а если я print x
, я получу 4
, так что, похоже, это работает.Но теперь мне нужно получить эти значения в описанной форме кортежа.Если я снова разделю на '^'
, я не получу необходимый результат, но вместо этого ["['2 ", " 3 ', ' 4 ", " 1']"]
, который не работает.Я попробовал это с factors = str(terms.split('^'))
.
Также мне нужно сделать это итерацией, чтобы она работала для всех строк, но я могу сделать это позже.Сначала я хочу убедиться, что он работает только для первой строки.
Есть предложения?