python рекурсия

Есть список, который надо проверить. Есть кнопка. При нажатии на кнопку проваливаемся в button_clicked. Там все работает. При вызове рекурсии (rekursia) программа крашится даже не войдя в нее

def add_functions(self):
    self.btn_green_1p.clicked.connect(lambda: self.button_clicked(1))


def rekursia(self,i, j, color):
    print("fa")
    #color: 1 - green, 2 - red, 3 - yellow, 4 - blue, 5 - black
    if table2[i-1][j] == color and i >= 0 :
        print("fa1")
        print(f'{i}{j}', i, j)
        self.rekursia(self, i-1, j, color)
        print("fa")


def button_clicked(self, color):
    for row in range(30):
        for col in range(30):
            if table2[row][col] == 1:
                print(table2[row][col])
                print(row)
                print(col)
                print(color)
                self.rekursia(self, row, col, color)

пробовал self.rekursia(self, lambda: row, lambda: col, lambda: color) не помогло.


Ответы (1 шт):

Автор решения: Menlis Smith

Зачем вы передаете self в функцию?

self.rekursia(self, i-1, j, color)

self передастся автоматически, так как класс уже инициализирован

self.rekursia(i-1, j, color)
→ Ссылка