from functools import reduce from pprint import pprint # обрабатывваем инпут, возвращает karta. # karta: list[list] = [[123,328,51,64], # [45,64,387,23], # [6,98,215,314], # ['*','+','*','+']] input = """123 328 51 64 45 64 387 23 6 98 215 314 * + * + """ with open("input_lexx.txt", "r") as file: input = file.read() karta = [] for row in input.splitlines(): karta.append([]) for elemet in row.split(' '): # print(elemet) if elemet == '': pass elif elemet == '*': # print("elemet == '*'",type(elemet)) karta[-1].append(str(elemet)) elif elemet == '+': # print("elemet == '+'",type(elemet)) karta[-1].append(str(elemet)) else: # print(type(elemet)) karta[-1].append(int(elemet)) # print("end of row") # функция собирающая строчку из списка stroka: list[int]= [] move: str = "" final_result: int = 0 new_karta:list[list[str]] = [ [''] * (len(karta[0])-1) for i in range((len(karta)-1)* len(karta[0]))] # print("new_karta",new_karta) print("="*10) print(f"Предстоит создать и обрабоать {len(karta[0])} строк") counter: int = (len(karta) - 1 )* len(karta[0]) while counter >= 1: for y in range(len(karta[0])): print("="*10) print(f"Обработака строки {y+1}") for x in range(len(karta)): if isinstance(karta[x][y],int): print("digit",karta[x][y]) adres:int = (len(karta) - 1 )* len(karta[0]) - counter print(f"new_karta[{adres}]") print("slise - 1",str(karta[x][y])[-1:]) print("slise - 2",str(karta[x][y])[-2:-1]) print("slise - 3",str(karta[x][y])[-3:-2]) print("slise - 4",str(karta[x][y])[-4:-3]) new_karta[adres][0] = str(karta[x][y])[-1:] new_karta[adres][1] = str(karta[x][y])[-2:-1] new_karta[adres][2] = str(karta[x][y])[-3:-2] new_karta[adres][3] = str(karta[x][y])[-4:-3] counter -= 1 # print(new_karta) else: pass pprint(karta) # move = karta[x][y] # print(stroka) # print("Действие",move) # if move == "+": # result: int= sum(stroka) # print("Результат",result) # elif move == "*": # result: int = reduce((lambda x, y: x * y), stroka) # print("Результат",result) # final_result += result # if y == len(karta[0])-1: # print("="*10) # print("Сумма всех строк",final_result) # stroka: list[int]= []