Task06: 函数与Lambda表达式


练习题

  1. 怎么给函数编写⽂档?
函数解释
:参数1: 解释
:return: 返回
  1. 怎么给函数参数和返回值注解?
def()  -> str
  1. 闭包中,怎么对数字、字符串、元组等不可变元素更新。
nonlocal 
  1. 分别根据每一行的首元素和尾元素大小对二维列表 a = [[6, 5], [3, 7], [2, 8]] 排序。(利用lambda表达式)
a=[[6, 5], [3, 7], [2, 8]]
x = sorted(a, key=lambda a: a[0], reverse=False)
  1. 利用python解决汉诺塔问题?

有a、b、c三根柱子,在a柱子上从下往上按照大小顺序摞着64片圆盘,把圆盘从下面开始按大小顺序重新摆放在c柱子上,尝试用函数来模拟解决的过程。(提示:将问题简化为已经成功地将a柱上面的63个盘子移到了b柱)

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

print('利用递归函数移动汉诺塔步骤:')
move(3, 'A', 'B', 'C')
posted @ 2020-08-02 23:16  chenweibo  阅读(80)  评论(0编辑  收藏