Вложенный цикл не выполняется после первого внутреннего цикла if
Новое в кодировании и в Python. У меня есть этот код, который по какой-то причине будет проходить только через мой первый оператор if. Я смотрел на это часами и, честно говоря, не могу сказать, почему?
for i in range(1, trex.shape[0]-1):
for j in range(1,trex.shape[1]-1):
if shape[i,j] == 0: # for 0 degree angles # ONLY GOES THROUGH THIS
if trex[i,j] < trex[i, j+1] and trex[i,j] < trex[i,j-1]:
trex[i,j] = 0
elif shape[i,j] == 45: # for 45 degree angles # Never comes down here
if trex[i,j] < trex[i-1, j+1] and trex[i,j] < trex[i+1,j-1]:
trex[i,j] = 0
else # for 90 degree angles # Or here
if trex[i,j] < trex[i-1, j] and trex[i,j] < trex[i+1,j]:
trex[i,j] = 0
В общем, я хочу, чтобы он проходил через 2d массив. У меня есть еще один двумерный массив с именем shape (такой же формы, как у trex), который имеет углы 0, 45, 90. Сначала я смотрю на угол в точке [i,j], а затем в зависимости от того, под каким углом он находится, я хочу, чтобы он смотрел по значению trex у соседей по точке. Если соседние точки ОБА ниже средней точки, то я ничего не делаю. В противном случае я устанавливаю среднюю точку ([i,j]) равной 0. Но когда я запускаю свой код, он устанавливает только те, которые имеют угол от 0 до 0. Так что это никогда не сводится к моему выражению elif или else. Я понятия не имею, почему: "(Надеюсь, это имеет смысл, и любая помощь очень ценится!