Как исправить ошибку? 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))