#!/usr/bin/env python3 # -*- coding: utf-8 -*- data = [] # parse input input_file = open("input-ex", "r") pattern = [] for line in input_file: line = line.strip() if line == "": data.append(pattern) pattern = [] else: pattern.append(line) data.append(pattern) input_file.close() ''' for i in range(len(data)): for _ in data[i]: print(_) print("================") ''' def find_vertikal_mirror(matrix): for s in range(1, len(matrix[0])): is_mirror = True for z in matrix: if s <= len(z) / 2: p1 = z[:s] p2 = z[s:] p2 = p2[::-1] p2 = p2[:s] print("1: ",s,p1,"-",p2) else: p2 = z[s:] p1 = z[:s] p1 = p1[::-1] p1 = p1[:len(p2)] print("2: ",s,p1,p2) if p1 != p2: is_mirror = False if is_mirror: return s return 0 def find_horizontal_mirror(matrix): new_matrix = [] for j in range(len(matrix[0])): new_matrix.append("".join([matrix[k][j] for k in range(len(matrix))])) for n in new_matrix: print(n) print("_____________________") return find_vertikal_mirror(new_matrix) solution = 0 for m in data: print(m) for mn in m: print(mn) vert = find_vertikal_mirror(m) horz = find_horizontal_mirror(m) print(vert, horz) if vert == 0: solution += 100 * find_horizontal_mirror(m) else: solution += vert print("Lösung:", solution)