Python全栈学习_day010作业
1,继续整理函数相关知识点,写博客。
2,写函数,接收n个数字,求这些参数数字的和。(动态传参)
def MySum(*args):
sum = 0
for i in range(len(args)):
sum += args[i]
return sum
3,读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?
a=10
b=20
def test5(a,b):
print(a,b)
c = test5(b,a)
print(c)
结果:
a = 20
b = 10
c = None
4,读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?
a=10
b=20
def test5(a,b):
a=3
b=5
print(a,b)
c = test5(b,a)
print(c)
结果:
a = 3
b = 5
c = None
5,写函数,传入函数中多个实参(均为可迭代对象如字符串,列表,元祖,集合等),将每个实参的每个元素依次添加到函数的动态参数args里面.
例如 传入函数两个参数[1,2,3] (22,33)最终args为(1,2,3,22,33)
1.
def func1(*args):
return args
print(func1(*[1, 2, 3], *(22, 33), *['alex', 'BlameK']))
2.
def func1(*args):
lis = []
for i in range(len(args)):
for j in range(len(args[i])):
lis.append(args[i][j])
args = tuple(lis)
return args
6,写函数,传入函数中多个实参(实参均为字典),将每个实参的键值对依次添加到函数的动态参数kwargs里面.
例如 传入函数两个参数{‘name’:’alex’} {‘age’:1000}最终kwargs为{‘name’:’alex’ ,‘age’:1000}
def func1(**kwargs):
return kwargs
print(func1(**{'name':'alex'}, **{'age':100}))
7, 下面代码成立么?如果不成立为什么报错?怎么解决?
7.1
a = 2
def wrapper():
print(a)
wrapper()
结果:
2
成立
7.2
a = 2
def wrapper():
a += 1
print(a)
wrapper()
结果:
报错
不成立,局部变量不能修改全局变量,更改:
a = 2
def wrapper():
global a
a += 1
print(a)
wrapper()
7.3
def wrapper():
a = 1
def inner():
print(a)
inner()
wrapper()
结果:
1
成立
7.4
def wrapper():
a = 1
def inner():
a += 1
print(a)
inner()
wrapper()
结果:
报错
不成立,子函数不能修改父函数的变量,更改
def wrapper():
a = 1
def inner():
nonlocal a
a += 1
print(a)
inner()
wrapper()
8,写函数,接收两个数字参数,将较小的数字返回.
def MyMin(a, b):
return a if a < b else b
9,写函数,接收一个参数(此参数类型必须是可迭代对象),将可迭代对象的每个元素以’_’相连接,形成新的字符串,并返回.
例如 传入的可迭代对象为[1,'老男孩','武sir']返回的结果为’1_老男孩_武sir’
def MyJoin(a):
for i in range(len(a)):
a[i] = str(a[i])
return '_'.join(a)
10,写函数,传入n个数,返回字典{‘max’:最大值,’min’:最小值}
例如:min_max(2,5,7,8,4) 返回:{‘max’:8,’min’:2}(此题用到max(),min()内置函数)
def MaxMin(*args):
dic = {'max':max(args), 'min':min(args)}
return dic
11,写函数,传入一个参数n,返回n的阶乘
例如:cal(7) 计算7*6*5*4*3*2*1
def cal(n):
s = 1
while n > 0:
s = s * n
n -= 1
return s
12写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组(升级题)
例如:[(‘红桃’,2),(‘梅花’,2), …(‘黑桃’,‘A’)]
def cards():
'''
扑克牌列表
:return: 扑克牌列表
'''
lis = []
card = ['黑桃', '红桃', '方块', '梅花']
dic = {'1': 'A', '11': 'J', '12': 'Q', '13': 'K'}
for i in range(len(card)):
for j in range(1, 14):
if 1 < j < 11:
lis.append((card[i], j))
else:
lis.append((card[i], dic[str(j)]))
return lis
13 有如下函数:
def wrapper():
def inner():
print(666)
wrapper()
你可以任意添加代码,用两种或以上的方法,执行inner函数.
1.
def wrapper():
def inner():
print(666)
inner()
wrapper()
2.
def wrapper():
def inner():
print(666)
return inner()
wrapper()
明日默写:
1,形参的接收顺序。
2,什么是命名空间,什么是全局名称空间,什么是局部名称空间,什么是内置名称空间。
3,什么是全局作用域,什么是局部作用域。
4,名称空间的加载顺序,取值顺序。
5,解释一下什么是global,什么是nonlocal。
Python全栈学习_day010作业的更多相关文章
- Python全栈学习_day006作业
Day6作业及默写 ,使用循环打印以下效果: : * ** *** **** ***** : ***** **** *** ** * : * *** ***** ******* ********* . ...
- Python全栈学习_day001作业
Day1作业及默写 1.简述变量命名规范 1. 必须以字母.数字.下划线命名,且不能以数字开头 2. 不能是python的关键字 3. 不能以中文或者拼音作为变量名 4. 命名格式推荐以驼峰式或者下划 ...
- Python全栈学习_作业集锦(持续更新)
python基础 day1 python初识 . 计算机基础(cpu,内存,硬盘,操作系统) . Python出生于应用 . python发展史 . 编程语言分类 . python优缺点 . pyth ...
- Python全栈学习_day007作业
Day7作业及默写 .把列表中所有姓周的人的信息删掉(升级题:此题有坑, 请慎重): 第一种方法:lst = ['周老二', '周星星', '麻花藤', '周扒皮'] # 结果: lst = ['麻花 ...
- Python全栈学习_day003作业
day3作业及默写 1,有变量name = "aleX leNb" 完成如下操作: 1) 移除 name 变量对应的值两边的空格,并输出处理结果 print(name.strip( ...
- Python全栈学习_day002作业
Day2作业及默写 1.判断下列逻辑语句的True,False. 1)1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 & ...
- Python全栈学习_day011作业
1,写函数,传入n个数,返回字典{‘max’:最大值,’min’:最小值}例如:min_max(2,5,7,8,4) 返回:{‘max’:8,’min’:2}(此题用到max(),min()内置函数) ...
- Python全栈学习_day004作业
,写代码,有如下列表,按照要求实现每一个功能 li = ["alex", "WuSir", "ritian", "barry&qu ...
- Python全栈学习_day005作业
,有如下变量(tu是个元祖),请实现要求的功能 tu = (, , {,,)}, ]) a. 讲述元祖的特性 b. 请问tu变量中的第一个元素 "alex" 是否可被修改? c. ...
随机推荐
- [ 10.03 ]CF每日一题系列—— 534B贪心
Descripe: 贪心,贪在哪里呢…… 给你初始速度,结尾速度,行驶秒数,每秒速度可变化的范围,问你行驶秒数内最远可以行驶多少距离 Solution: 贪心,我是否加速,就是看剩下的时间能不能减到原 ...
- Python自动化开发 - 堡垒机实例
本节内容 一.堡垒机介绍 1. SSHClient 2. SFTPClient 3. Transport 二.堡垒机实现 一.堡垒机介绍 1. SSHClient 用户连接远程服务器并执行基本命令 1 ...
- Nextday 参数化单元测试(测试用例)设计
一.首先简单描述一下下载试题及配置试题的过程 配置环境:安装Eclipse.JDK(1.7).及考试插件 (net.mooctest....*.jar)等: 登录系统:运行Eclipse: [Mooc ...
- 自适应Simpson法与积分初步
前言 不知道为什么,今天感觉想要写一下数学的东西,然后就看了一下我还有这个模板不会,顺手写了一下. 没有学过微积分的最好还是看一下求导为好. 求导 听说很多人都不会求导,我写一下吧qwq 令\(f(x ...
- 写一个shell 快速启动停止你的微服务吧
在这个微服务盛行的时代,docker获得了巨大的成功,因为我们需要在一台服务器装上N个服务. 本文不是想讨论如何使用docker,而是,在一台服务器安装了多个服务后,怎样启动方便的启动服务呢? 一.在 ...
- Kubernetes-1
master 节点负责管理整个集群,管理的控制面板,全局的角色和调度 3个组件 API Server : 统一入口 kubectl 客户端管理工具 Etcd 数据库 Scheduler 集群的调度 C ...
- 设置select,option文本居中
设置select,option文本居中 可以通过 padding 属性设置内边距,使它看上去居中: select{ # 从左到右依次表示上内边距,右内边距,下内边距,左内边距: padding :0 ...
- iOS开发总结——项目目录结构
1.前言 清晰的项目目录结构有利于项目的开发,同时也是软件架构的一部分,所以,项目开发之初搭建项目的目录结构很重要.刚转iOS时,自己并不知道如何搭建App的项目目录,在参与开发两个应用后,结合Web ...
- Jupyter中python3之numpy练习
---恢复内容开始--- Numpy_pratice In [2]: n = 10 L = [i for i in range(n)] In [3]: L * 2 Out[3]: [0, 1, 2, ...
- hdu 6086 -- Rikka with String(AC自动机 + 状压DP)
题目链接 Problem Description As we know, Rikka is poor at math. Yuta is worrying about this situation, s ...