python用递归方法求n! 递归函数编写过程中的问题 def digui(n): if n==0: return 1 elif n>1://修改成n>=1 return n * digui(n-1)//出现问题的地方 print(digui(5))
出现以上错误TypeError: unsupported operand type(s) for *: 'int' and 'NoneType'
后来发现是n的范围没有全包括,把第二个条件改成n>=1就可以了
①遇到这类问题首先考虑他的字面意思:
代表两个类型不同的变量进行运算
②在变量相同的情况下再考虑深层含义:
要考虑变量的范围。