Task06

Task06

函数与Lambda表达式

1.函数

  1. 怎么给函数编写⽂档?

    def MyFirstFunction(name):
        "函数定义过程中name是形参"
        # 因为Ta只是一个形式,表示占据一个参数位置
        print('传递进来的{0}叫做实参,因为Ta是具体的参数值!'.format(name))
    
    
    MyFirstFunction('老马的程序人生')
    # 传递进来的老马的程序人生叫做实参,因为Ta是具体的参数值!
    
    print(MyFirstFunction.__doc__)
    
  2. 怎么给函数参数和返回值注解?

    def func(x: int, y: int) -> int:
        '''return type int, return x add y '''
        return x+y
    print(func(1,3)) # 4
    
  3. 闭包中,怎么对数字、字符串、元组等不可变元素更新。

    要修改闭包作用域中的变量则需要 nonlocal 关键字

  4. 分别根据每一行的首元素和尾元素大小对二维列表 a = [[6, 5], [3, 7], [2, 8]] 排序。(利用lambda表达式)

    a = [[6, 5], [3, 7], [2, 8]]
    a = sorted(a,key=lambda i:i[0])
    print(a)
    a = sorted(a,key=lambda i:i[-1])
    print(a)
    '''
    [[2, 8], [3, 7], [6, 5]]
    [[6, 5], [3, 7], [2, 8]]
    '''
    
  5. 利用python解决汉诺塔问题?

def move(n, a, b, c):
    if n == 1:
        print(a, "->", c)
    else:
        print(a, "->", b)
        move(n - 1, a, b, c)
        print(b, "->", c)


move(64, "a", "b", "c")

你可能感兴趣的:(视觉学习)