Итак, моя проблема заключается в следующем: у меня есть этот список высот в горе, и я хочу создать функцию, которая может возвращать координаты (строку, столбец) высоты, которая должна быть достигнута при восхождении на север.Восхождение начинается с любой ячейки, кроме ячеек в строке 0, и заканчивается, когда ячейка выше имеет меньшее / равное значение, чем ячейка ниже.восхождение продолжается по прямой линии вверх.
Каждая ячейка представляет собой высоту.
altitude = [
[206,205,204,190,208],
[190,194,206,197,203],
[196,196,205,201,193],
[194,199,199,206,205],
[192,196,195,201,193],
[194,199,200,200,205],
[196,196,195,200,193] ]
То, что я пытался получить, в итоге вернуло координаты ячейки выше той, которая должна была быть.Он должен возвращать координаты ячейки, которая имеет, так сказать, «меньшую» ячейку сверху.И значение NONE, когда оно должно возвращать координаты start
Start представляет пару координат в высотах.
Например, я должен получитьэти результаты, но я не:
climb_north(altitude, (1,0))
(0,0)
climb_north (altitude, 2,0))
(2,0)
climb_north (altitude, (4,0)
(2,0)
Это то, что я попробовал еще.
def climb_north(altitude, start):
r = start[0]
c = start[1]
r_next = r - 1
while (r_next >= 0):
if (altitude[r][c]) > (altitude[r_next][c]):
return (r_next, c)
r, r_next = r_next, r-1
return
Так что, если кто-нибудь может мне помочь, было бы здорово!Спасибо!