Anaconda 5.2 + Python 3.6 + Visual Studio 2017
非常奇怪的行为,在线
memo[n] = fib3(n - 1) + fib3(n - 2)
程序因错误而崩溃。
+ 不支持的操作数类型:“NoneType”和“NoneType”
from typing import Dict
memo: Dict[int, int] = {0: 0, 1: 1} # базовые случаи
def fib3(n):
if n not in memo:
memo[n] = fib3(n - 1) + fib3(n - 2) # мемоизация
return memo[n]
if __name__ == "__main__":
print(fib3(50))
如果条件不满足
那
return不是。需要
return从下面出来if