python基础——task6

练习题:

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

def functionname(parameters):
    "函数_文档字符串"
    function_suite
    return [expression]
'''查看函数文档'''
print(MyFirstFunction.__doc__)  
help(MyFirstFunction)

2. 怎么给函数参数和返回值注解?

  • 参数注解就是,在定义函数的时候,参数列表内部的参数后面,加上冒号和要传入的类型,例:
def accumlate(x:int, y:int):
    return x*y
  • 写了参数注解也无法强制限定变量的类型,只能作为提示,来告知使用者应该传入什么类型的参数。
  • 返回值注解就是:
def accumlate(x:int, y:int) -> int:
    return x*y
  • 在参数列表后面,冒号前面,增加一个 -> 后面接返回值的类型。
  • 这些注解都会以字典的形式存在函数的.__annotations__属性中。
accumlate.__annotations__
{'x': int, 'y': int, 'return': int}

print(accumlate.__annotations__)
{'x': <class 'int'>, 'y': <class 'int'>, 'return': <class 'int'>}

' value里面存的数据是type '

3. 闭包中,怎么对数字、字符串、元组等不可变元素更新。

  • 闭包是函数式编程的一个重要的语法结构,是一种特殊的内嵌函数。
  • 如果在一个内部函数里对外层非全局作用域的变量进行引用,那么内部函数就被认为是闭包。
  • 通过闭包可以访问外层非全局作用域的变量,这个作用域称为 闭包作用域
  • 闭包的返回值通常是函数
  • 如果要修改闭包作用域中的变量则需要 nonlocal 关键字

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

a=[[6, 5], [3, 7], [2, 8]] 
print(a)
x = sorted(a, key=lambda a: a[0], reverse=False)
print("按照首字符正序排列:",x)
x = sorted(a, key=lambda a: a[0], reverse=True)
print("按照首字符逆序排列:",x)
x = sorted(a, key=lambda a: a[1], reverse=False)
print("按照尾字符正序排列:",x)
x = sorted(a, key=lambda a: a[1], reverse=True)
print("按照尾字符逆序排列:",x)

5 . 利用python解决汉诺塔问题?

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

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值