十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
n0是一个逻辑表达式,其值: True 或 False; 在python中False可视为0, True可视为1;
专注于为中小企业提供网站设计、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业叠彩免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
于是, [1,0][n0] :
当n=0时(False), 取[1,0]的第零个元素:1,
当n0时(True), 取[1, 0]的第一个元素: 0;
1为True, 0为False; 因此当n=0时, 该匿名函数返回的就是1,当n0时, 返回的是fac(n-1)*n的值
这个匿名函数等价于: 1 if n=0 else (fac(n-1)*n)
不考虑效率的话,因数和就直接用所有小于x的正整数试商即可,因此,可以写成:
以下是使用面向对象方式编写的一个求阶乘的代码:
# coding=gbk
class Fun():
def fac(self,num):
if num0:
return num * self.fac(num-1)
else:
return 1
if __name__ == '__main__':
obj = Fun()
result = obj.fac(10)
print(result)
#递归函数方法求阶乘
def fac(n):
if n ==1:
return 1
return fac(n-1)*n
print('6!= ',fac(6))