From 1ff3f709f0eaa68bcbebedf7dbfd0b3bf1f0451d Mon Sep 17 00:00:00 2001 From: Alexey Barabanov Date: Thu, 25 Dec 2025 21:05:54 +1100 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B5=D0=BD=20=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=B0=D0=B5=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 2025/day06/part2_lexx.py | 77 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 2025/day06/part2_lexx.py diff --git a/2025/day06/part2_lexx.py b/2025/day06/part2_lexx.py new file mode 100644 index 0000000..bc27821 --- /dev/null +++ b/2025/day06/part2_lexx.py @@ -0,0 +1,77 @@ +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]= [] \ No newline at end of file