Learpcs Asked:2022-06-20 20:58:02 +0000 UTC2022-06-20 20:58:02 +0000 UTC 2022-06-20 20:58:02 +0000 UTC + 不支持的操作数类型:“int”和“NoneType” 772 def f(n): if n <= 1: return 1; elif n % 2: n + f(n - 2) else: n * f(n - 1) print(f(84)) 在某些时候,函数决定返回NoneType,但我不明白为什么。问题是什么? python 1 个回答 Voted Best Answer Georgiy 2022-06-20T21:15:07Z2022-06-20T21:15:07Z 因为代码只在一个条件下返回一个值(这是在条件 n<=1 下),而在其他情况下它返回 None。return 将有助于修复错误。 def f(n): if n <= 1: return 1 elif n % 2: return n + f(n - 2) else: return n * f(n - 1) print(f(84)) >> 148176
因为代码只在一个条件下返回一个值(这是在条件 n<=1 下),而在其他情况下它返回 None。return 将有助于修复错误。