def check_id(start, end): false_ids = [] for id in range(int(start), int(end)+1): id_str = str(id) id_str_len = len(id_str) if id_str_len % 2 == 0: h1 = id_str[:id_str_len//2] h2 = id_str[id_str_len//2:] if h1 == h2: false_ids.append(id) return false_ids def read_input(filename): id_ranges = [] for line in open(filename).read().splitlines(): for id_range in line.split(","): start = id_range.split("-")[0] end = id_range.split("-")[1] id_ranges.append((start,end)) return id_ranges # filename = "day02/example_input" # 1227775554 filename = "day02/input" # 23560874270 id_ranges = read_input(filename) adding = 0 for id_range in id_ranges: for false_id in check_id(id_range[0], id_range[1]): adding += false_id print(f"Added total of false IDs: {adding}")