import os, argparse def solve_task(lines): index = 1 indices = [] left = None right = None for line in lines: if line == "": if compare(left, right): indices.append(index) left = None right = None index += 1 elif left is None: left = eval(line) elif right is None: right = eval(line) else: exit(-1) if compare(left, right): indices.append(index) print(f"Indices in correct order: {indices}") print(f"Sum gives {sum(indices)}") def compare(left,right): if isinstance(left, int) and isinstance(right, int): if left == right: return "undetermined" else: return left < right elif isinstance(left, int): return compare([left], right) elif isinstance(right, int): return compare(left, [right]) else: for i in range(min(len(left), len(right))): comp = compare(left[i], right[i]) if comp == "undetermined": continue else: return comp if len(left) < len(right): return True elif len(right) < len(left): return False else: return "undetermined" def read_lines(filename): lines = [] with open(filename) as infile: for raw_line in infile: line = raw_line.rstrip() lines.append(line) return lines def parse_arguments(): parser = argparse.ArgumentParser(description="Script that solves the case",epilog="Have a nice day!") parser.add_argument('filename', nargs='?', default="example.txt", help='Input file') args = parser.parse_args() return args def main(): args = parse_arguments() lines = read_lines(args.filename) solve_task(lines) if __name__ == "__main__": main()