def factorial(n):
if n==1:
return 1
return n*factorial(n-1)
----------------------------------------------------------------------------------
print(factorial(10))
def recursion(n):
if n==1:
return 1
else:
result=n*recursion(n-1)
return result
n=int(input("请输入一个正整数:"))
print("%d!="%n,recursion(n))
----------------------------------------------------------------------------------
sum=lambda arg1,arg2:arg1+arg2
#arg1,arg2表示的是函数的参数,"expression"表示的是函数的表达式
#lambda [arg1[,arg2,.....,argn]]:expression
print("运行结果:",sum(1,2))
print("运行结果:",sum(3,4))
#使用lambda声明的匿名函数能接受任何数量的参数,但只能返回一个表达式的值。匿名函数不能直接调用print()
#因为lambda需要一个表达式
#假设之前,我们要对两个数进行运算,如果希望声明的函数支持所有的运算,可以将匿名函数作为函数参数传递。
def fun(a,b,opt):
print("a=%d"%a)
print("b=%d"%b)
print("result=",opt(a,b))
fun(11,22,lambda x,y:x+y)
print("-----------------------")
fun(11,22,lambda x,y:x*y)
---------------------------------------------------------------
#匿名函数还通常作为内置函数的参数来使用
stus=[
{"name":"孙但","age":18},
{"name":"多少","age":19},
{"name":"奇数","age":17}
]#列表里面有字典
#按name排序
stus.sort(key=lambda x:x['name'])
print("按name排序后的结果为:",stus)
#按age排序
stus.sort(key=lambda x:x['age'])
print("按age排序后的结果为:",stus)
网友评论