with open('puzzle.txt', 'r') as f: lines = f.read().splitlines() segmented_report = [] for line in lines: segmented_report.append([int(x) for x in line.split(' ')]) safe_reports = 0 bad_reports = 0 for report in segmented_report: if len(report) != len(set(report)): bad_reports += 1 pass elif report[0] > report[-1]: good_report = False for i in range(len(report) - 1): if 3 >= report[i] - report[i + 1] >= 1: good_report = True else: good_report = False bad_reports += 1 break if good_report: print(report) safe_reports += 1 elif report[0] < report[-1]: good_report = False for i in range(len(report) - 1): if 3 >= report[i + 1] - report[i] >= 1: good_report = True else: good_report = False bad_reports += 1 break if good_report: print(report) safe_reports += 1 print(f'bad_reports {bad_reports}') print(f'safe_reports {safe_reports}')