最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

关于Lambda表达式的实例教程

来源:动视网 责编:小采 时间:2020-11-27 14:23:55
文档

关于Lambda表达式的实例教程

关于Lambda表达式的实例教程:Lambda表达式的五练习语法:Lambda函数,是一个匿名函数,创建语法: lambda parameters:expressparameters:可选,如果提供,通常是逗号分隔的变量表达式形式,即位置参数。expression:不能包含分支或循环(但允许条件表达式),也不能包含return(或
推荐度:
导读关于Lambda表达式的实例教程:Lambda表达式的五练习语法:Lambda函数,是一个匿名函数,创建语法: lambda parameters:expressparameters:可选,如果提供,通常是逗号分隔的变量表达式形式,即位置参数。expression:不能包含分支或循环(但允许条件表达式),也不能包含return(或


Lambda表达式的五练习

语法:

Lambda函数,是一个匿名函数,创建语法:

lambda parameters:express

parameters:可选,如果提供,通常是逗号分隔的变量表达式形式,即位置参数。

expression:不能包含分支或循环(但允许条件表达式),也不能包含return(或yield)函数。如果为元组,则应用圆括号将其包含起来。

调用lambda函数,返回的结果是对表达式计算产生的结果。

  • 1.题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-分之间的用B表示,60分以下的用C表示。

  • print( str(score) + ' belongs to ' +

    (lambda x:(x>=90 and 'A' or x>=60 and 'B' or 'C'))(score))

    2.题目:lambda的递归调用。将一个整数n,拆分打印出来。如234,应2,3,4分三行打印出来。

    n = int(input ())
    f=m,f:( (m / 10) !=0 f( int(m/10),f) ( m!=0 print(%(m%10) )))
    f(n,f)

    3.题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

    程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

    (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

    (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,

    重复执行第一步。

    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

    import os
    import sys
    from functools import reduce
    from math import sqrt

    n = int(input ("Please input a int: "))
    ans =[]
    nn=n
    f=lambda m,i,c,f:(m%i ==0 and f(m//i,i,c+1,f) or (m,c))
    def func(x,y):
    ret,count=f(x,y,0,f)
    if count >0:
    ans.append(count * [y] )
    return ret
    reduce(func,[nn]+list(range(2,nn)))
    print(ans)

    4.题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由输入控制。


    n= int(input("n=: "))
    aa =a= int(input('a=: '))

    f=lambda n,a,ans,la,f: n==0 and ans or f(n-1,a,ans+[la*10+a],la*10+a,f )

    print(reduce(lambda x,y:x+y,f(n,aa,[],0,f)))

  • 5.题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.

  • 编程:找出1000以内的所有完数。


    factors = lambda x:filter( lambda i: x%i==0 and i,range(1,x))
    f = lambda x: sum(factors(x)) == x
    print( [(i,list(factors(i))) for i in list(filter( f, range(2,1001)))])

    文档

    关于Lambda表达式的实例教程

    关于Lambda表达式的实例教程:Lambda表达式的五练习语法:Lambda函数,是一个匿名函数,创建语法: lambda parameters:expressparameters:可选,如果提供,通常是逗号分隔的变量表达式形式,即位置参数。expression:不能包含分支或循环(但允许条件表达式),也不能包含return(或
    推荐度:
    标签: 教程 案例 五个
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top