import numpy as np file = "inputs/day9.input" numbers = [x.decode().replace("\n", "") for x in open(file, "rb").readlines()] numbers = [[int(x) for x in number] for number in numbers] numbers = np.array(numbers) risklevel = 0 for x in range(numbers.shape[0]): for y in range(numbers.shape[1]): if x == 0 and y == 0: if numbers[x + 1, y] > numbers[x, y] and numbers[x, y + 1] > numbers[x, y]: risklevel += 1 + numbers[x, y] elif x == 0 and y == numbers.shape[1] - 1: if numbers[x + 1, y] > numbers[x, y] and numbers[x, y - 1] > numbers[x, y]: risklevel += 1 + numbers[x, y] elif x == numbers.shape[0] - 1 and y == 0: if numbers[x - 1, y] > numbers[x, y] and numbers[x, y + 1] > numbers[x, y]: risklevel += 1 + numbers[x, y] elif x == numbers.shape[0] - 1 and y == numbers.shape[1] - 1: if numbers[x - 1, y] > numbers[x, y] and numbers[x, y - 1] > numbers[x, y]: risklevel += 1 + numbers[x, y] elif x == 0 and y > 0 and y < numbers.shape[1] - 1: if ( numbers[x, y + 1] > numbers[x, y] and numbers[x, y - 1] > numbers[x, y] and numbers[x + 1, y] > numbers[x, y] ): risklevel += 1 + numbers[x, y] elif x == numbers.shape[0] - 1 and y > 0 and y < numbers.shape[1] - 1: if ( numbers[x, y + 1] > numbers[x, y] and numbers[x, y - 1] > numbers[x, y] and numbers[x - 1, y] > numbers[x, y] ): risklevel += 1 + numbers[x, y] elif y == 0 and x > 0 and x < numbers.shape[0] - 1: if ( numbers[x, y + 1] > numbers[x, y] and numbers[x - 1, y] > numbers[x, y] and numbers[x + 1, y] > numbers[x, y] ): risklevel += 1 + numbers[x, y] elif y == numbers.shape[1] - 1 and x > 0 and x < numbers.shape[0] - 1: if ( numbers[x, y - 1] > numbers[x, y] and numbers[x - 1, y] > numbers[x, y] and numbers[x + 1, y] > numbers[x, y] ): risklevel += 1 + numbers[x, y] else: if ( numbers[x, y - 1] > numbers[x, y] and numbers[x, y + 1] > numbers[x, y] and numbers[x - 1, y] > numbers[x, y] and numbers[x + 1, y] > numbers[x, y] ): risklevel += 1 + numbers[x, y] print(risklevel)