Как исправить ошибку? TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'

def f(x, y):
    if x > y:
        return 0
    if x == y and x == 6:
        return 1
    if x < y:
        return f(x + 2, y) + f(x * 2, y) + f(x * 3, y)
print(f(2, 28))

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

Автор решения: 6oHuFaCbIu

Твоя функция возвращает None в случае, когда f(28, 28), потому что нет условия для обработки этого случая. Ты можешь исправить это, изменив условие if x == y and x == 6 на if x == y or x == 6, или добавив явное возвращение, например 0, если функция должна возвращать None. Вот пример кода:

def f(x, y):
    if x > y:
        return 0
    if x == y and x == 6:
        return 1
    if x < y:
        return f(x + 2, y) + f(x * 2, y) + f(x * 3, y)
    return 0  # случай для x > y

print(f(2, 28))
→ Ссылка