Почему может не выполняться задача?

Видимых ошибок нет,но и ответ не выдаётся,эксперты,какие могут быть варианты? Задача:Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями: F(n) = 3×n - 3 при n <= 2; F(n) = F(n - 2) + 2×F(n – 1) + 7, если n > 2. Чему равно значение функция F(20)?

def F(n):
    if n <= 2:
        return F(n) == (3*n)-3
    elif n > 2:
        return F(n) == F(n-2)+2*F(n-1)+7

print(F(20))

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

Автор решения: MBo

Уберите F(n) == из двух строк.

Ну нельзя же так буквально записывать задание в коде.

И elif замените на else или вообще удалите, это не вредно, но бесполезно.

→ Ссылка
Автор решения: ilya484

Ваша функция возвращает не int, а bool. Перепишите программу так:

def F(n):
    if n <= 2:
        return 3*n-3
    return F(n-2)+2*F(n-1)+7

print(F(20))

Вывод:

52667940

→ Ссылка