python 阶乘
def sjn(n):if n ==1:
return 1
else:
return n*sjn(n-1)
member=int(input('请输入一个正整数:'))
result=sjn(member)
print('%d的阶乘是:%d'%(member,result))
求助,为什么当阶乘大于1的时候,return 1没有用啊。
因为 if n ==1是条件呀,只有当 n == 1 的时候才执行 if 下面的代码块 return 1
当 if 条件不成立的时候,是不执行 if 下面的代码块,而执行 else 的代码块进入递归
看楼上。 阶乘不就是你定义函数的n吗?
函数中不是自己定义的只有n等于1的时候才返回1吗?
大于1的话,就执行else了,程序开始递,一直到你n减少到等于1的时候,返回1,程序开始归。
页:
[1]