Python基础day05 作业解析【7道 函数作业题】

目录

题目1 [加强训练]

题干

训练目标

训练提示

参考方案

题目2 [加强训练]

题干

训练目标

训练提示

参考方案

操作步骤

参考答案

题目3 [加强训练]

题干

训练目标

训练提示

参考方案

操作步骤

参考答案

题目4 [加强训练]

题干

训练目标

训练提示

参考方案

操作步骤

参考答案

题目5 [综合训练]

题干

训练目标

训练提示

参考方案

操作步骤

参考答案

题目6 [综合训练]

题干

训练目标

训练提示

参考方案

操作步骤

参考答案

题目7 [加强训练]

题干

训练目标

训练提示

参考方案

操作步骤

参考答案


题目1 [加强训练]

题干

有如下代码:

 num = 10
 def anum():
     num = 20
 print(num)

请问这段代码最终输出的值是多少?

训练目标

分清全局变量与局部变量

训练提示

全局变量与局部变量有什么区别?

参考方案

对于在函数内部的变量,如果改变没有global声明的变量,那么相当于是重新定义了一个与全局变量同名的局部变量。

题目2 [加强训练]

题干

有如下代码:

def abnum(big, small, middle):
    .....#此处省略一千行代码

现在要调用abnum函数,但是怕在调用的时候将参数的位置传错,如何避免这个情况?写一段代码示范下。

训练目标

关键字参数的使用

训练提示

题中已经给了现有的函数以及形参,但是要怎么才能保证实参能够一对一传入,不发生错误呢?

参考方案

明确要用关键字参数,来指定参数位置

操作步骤

在调用函数的时候,直接标明参数的值

参考答案

abnum(big=5, small=1, middle=1)

题目3 [加强训练]

题干

在填写个人资料时,如果选了女性,那么性别是女;如果不选性别,那就是默认是男,那么这个功能用函数怎么实现?

要求如下:定义一个函数gender,并在函数中将“所选性别为*”,并可以成功调用运行。

训练目标

练习缺省参数的使用,事实上缺省参数也是很常使用的。

训练提示

  1. 在定义函数的时候,如何声明形参是缺省参数?

  2. 缺省参数的意义是什么呢?

参考方案

  1. 在声明函数时直接声明缺省参数。

  2. 缺省参数意味着,如果不传参数的话,那就按照默认的值来进行使用,并且程序不会报错。

操作步骤

参考答案

 def gender(g="男"):
     print("您的性别是:"+g)
 gender()
 # 经过上述例子以及代码,是不是说明我们的缺省参数是可以缺少可以省去的?

题目4 [加强训练]

题干

要求实现一段代码:

声明一个函数num,并且在调用函数的时候,不管输入多少个非关键字参数,函数都可以运行,且在函数内部还要把每个参数输出到屏幕上。

训练目标

  1. 不定长元组类型参数的使用

  2. 元组的遍历

训练提示

不定长参数有什么作用?

参考方案

在不确定参数的个数的时候,用不定长参数做形参,可以接受多个可以接受的参数。

操作步骤

定义一个函数num,形参为*args,然后在函数内部进行对元组遍历输出即可

参考答案

def num(*args):
    for i in args:
        print(i)

题目5 [综合训练]

题干

如下所示这是一个字典,{"name":"电脑","price":7000}

请定义这样一个函数num,讲上述字典中的键值对传入到函数num中,要求用不定长参数来接收,并在函数中打印键值对输出

输出格式为:

 key: name value: 电脑
 key: price value: 700

训练目标

不定长参数字典类型的使用 遍历字典

训练提示

  1. 字典类型的不定长参数的关键字什么?

  2. 调用函数时应如何传参?

  3. 如何对字典完成遍历并输出?

参考方案

1.不定长参数关键字没有固定的关键字,但是一般用 **kwargs多一些

2.传入关键字参数

3.可以对字典的键,值,以及键值对进行遍历

操作步骤

  1. 不定长参数关键字没有固定的关键字,但是一般用 **kwargs多一些

  2. 遍历选择用dict.items()

  3. 调用时传入关键字参数,将键值对传入即可

参考答案

 def num(**kwargs):
     for key,value in kwargs.items():
         print("key:",key,"value:",value)
 num(name="电脑", price=700)

题目6 [综合训练]

题干

对于一个函数num,当调用nun(1,2,a=3,b=4)和调用num(3,4,5,6,a=1)以及num(a=1,b=2)的时候都可以正常运行,并且可以对元组以及字典类型进行遍历输出,对字典类型进行输出字典的键值对(形式为:key:a,value:1),

请写出这个函数并完成调用。

训练目标

元组类型不定长参数与字典类型不定长参数的混合使用

训练提示

当有元组以及字典两个不定长参数的时候,顺序要怎么放?如何传参?参数顺序有没有什么顺序?

参考方案

  1. 可以采用*args与**kwargs两个形参

  2. 定义一个函数num,调用时将关键字参数放在最后面,其他参数放在前面。

操作步骤

  1. 定义函数num时,参数顺序应该是*args,**kwargs。

  2. 在函数内部分别执行遍历操作即可。

参考答案

 def num(*args, **kwargs):
     for i in args:
         print(i)
     for key,value in kwargs.items():
         print("key:",key,"value:",value)
 num(1,2,3,a=1, b=2)
 # num(a=1, b=2)  此种情况也可

题目7 [加强训练]

题干

完成学生管理系统代码。

  1. 添加学生功能

  2. 删除学生功能

  3. 修改学生功能

  4. 查询学生功能

  5. 查询所有学生功能

训练目标

知识的综合应用

训练提示

参考方案

可参考课堂代码

操作步骤

  1. 搭建系统框架

  2. 书写各个功能

参考答案

参考课件或者课堂代码

猜你喜欢

转载自blog.csdn.net/weixin_44949135/article/details/114271892