输入一个正整数,求从1的阶乘到这个数的阶乘之和。
先上代码:def f(x):
i=1
p=1
while i<=x:
p=p*i
i+=1
return p
def m(x):
if x==1:
return 1
else:
f(x)+m(x-1)
我是这样想的 先定义一个f(x)是判断这个数的阶乘,然后在定义m(x),然后根据m(x)=x!+m(x-1)递归求出答案,在运行f()能正确显示,但运行m()显示unsupported operand type(s) for +: 'int' and 'NoneType',请问各位大佬,我这个思路能不能行的通,如果行的通麻烦在我这个代码的基础上改一下,并说一下问题。谢谢。 最后一行
return f(x)+m(x-1) 冬雪雪冬 发表于 2018-3-11 22:16
最后一行
return f(x)+m(x-1)
谢谢,真的是个低级失误,献丑了。以后多检查一下再发到论坛里
页:
[1]