Дана матрица. Напечатать те ее элементы, все соседи которых по горизонтали, вертикали и диагонали: а) больше этого элемента, б) меньше этого элемента. Как мне указать в условии что надо выводить только те которые меньше или больше элемента
import random
def start():
print("Дана матрица")
def creatArray():
r = 0
print('Input first index matrix: ')
x = int(input())
print('Input second index matrix: ')
y = int(input())
array = []
for i in range(x):
array.append([])
for j in range(y):
array[i].append(random.randint(0,100))
r += 1
return array
g= creatArray()
def printMatrix(g):
for row in g:
for x in row:
print ( "{:3d}".format(x), end = "" )
print ()
printMatrix (g)
print("Выбирите a или b")
a= input()
if a == "a":
def in_bounds(i, j, g):
return 0 <= i < len(g) and 0 <= j < len(g[0])
def neighbors(g):
return [[g[i + di][j + dj] for di in (-1, 0, 1) for dj in (-1, 0, 1) if in_bounds(i + di, j + dj, g) and (di != 0 or dj != 0)]
for i in range(len(g)) for j in range(len(g[0]))]
print(neighbors(g))
#именно эта часть, выводит соседние элементы каждого элемента.
#но нужно сделать так чтобы выводила только те которые больше либо меньше этого элемента
elif a == "b":
s = 0
for row in matrix:
s += sum(row) #просто заглушка
print (s)
else:
print('Other')
start()
while True:
flag = input('Ещё раз? [да/нет]: ')
if flag == 'да':
start()
else:
break