我是靠谱客的博主 欢呼小蚂蚁,最近开发中收集的这篇文章主要介绍Python全栈学习_作业集锦(持续更新),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

python基础

day1 python初识

1. 计算机基础(cpu,内存,硬盘,操作系统)           
2. Python出生于应用                              
3. python发展史                                               
4. 编程语言分类                                            
5. python优缺点                                          
6. python环境                                        
7. 运行Python代码                                               
8. 变量   
9. 常量                                                       
1. 注释                                                        
11. 基础数据类型初始                                           
12. 程序交互input                                            
13. 流程控制语句if.
day1 大纲
1、简述变量命名规范

2、name = input(“>>>”) name变量是什么数据类型?

3、if条件语句的基本结构?

4、用print打印出下面内容:

⽂能提笔安天下, 
武能上⻢定乾坤. 
⼼存谋略何⼈胜, 
古今英雄唯是君.

5、利用if语句写出猜大小的游戏:

设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确。

6、提⽰⽤户输入他的年龄, 程序进⾏判断. 

如果⼩于10, 提⽰⼩屁孩, 如果⼤于10, ⼩于 20, 提⽰青春期叛逆的⼩屁孩. 如果⼤于20, ⼩于30. 提⽰开始定性, 开始混社会的⼩ 屁孩⼉, 如果⼤于30, ⼩于40. 提⽰看老⼤不⼩了, 赶紧结婚⼩屁孩⼉. 如果⼤于40, ⼩ 于50. 提⽰家⾥有个不听话的⼩屁孩⼉. 如果⼤于50, ⼩于60. 提⽰⾃⼰⻢上变成不听 话的老屁孩⼉.如果⼤于60, ⼩于70. 提⽰活着还不错的老屁孩⼉. 如果⼤于70, ⼩于 90. 提⽰⼈⽣就快结束了的⼀个老屁孩⼉. 如果⼤于90以上. 提⽰. 再⻅了这个世界.


7、单⾏注释以及多⾏注释?

8、简述你所知道的Python3x和Python2x的区别?

9、提⽰⽤户输入⿇花藤. 判断⽤户输入的对不对. 如果对, 提⽰真聪明, 如果不对, 提⽰你 是傻逼么
day1 作业
1,变量的命名规范。
2,单行注释,多行注释。
day1 默写

day2 python初识

1. while循环
2. 格式化输出
3. 运算符
4. 编码初识
day2 大纲
1、判断下列逻辑语句的True,False.
11 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
2)not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 

2、求出下列逻辑语句的值。
1),8 or 3 and 4 or 2 and 0 or 9 and 7
2),0 or 2 and 3 and 4 or 6 and 0 or 3

3、下列结果是什么?
1)、6 or 2 > 1
2)、3 or 2 > 1
3)、0 or 5 < 4
4)、5 < 4 or 3
5)、2 > 1 or 6
6)、3 and 2 > 1
7)、0 and 3 > 1
8)、2 > 1 and 3
9)、3 > 1 and 0
10)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2

4、while循环语句基本结构?

5、利用if语句写出猜大小的游戏:
设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确,然后退出循环。

6、在5题的基础上进行升级:
给用户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循环,如果三次之内没有猜测正确,则自动退出循环,并显示‘太笨了你....’。

7、使用while循环输出 1 2 3 4 5 6 8 9 10

8、求1-100的所有数的和(三种方法)

9、输出 1-100 内的所有奇数(两种方法)

10、输出 1-100 内的所有偶数(两种方法)

11、求1-2+3-4+5 ... 99的所有数的和


12、⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)

13、简述ASCII、Unicode、utf-8编码关系?

14、简述位和字节的关系?

15、“⽼男孩”使⽤UTF-8编码占⽤⼏个字节?使⽤GBK编码占⼏个字节?
day2 作业
1. Bit,Bytes,KB,MB,GB,TB之间的转换关系。
2. Unicode,utf-8,GBK,每个编码英文,中文,分别用几个字节表示。
day2 默写

day3 初识数据类型

1. 基础数据类型 总览
2. int
3. bool
4. str
5. for循环
day3 大纲
1,有变量name = "aleX leNb" 完成如下操作:

1)    移除 name 变量对应的值两边的空格,并输出处理结果
2)    移除name变量左边的"al"并输出处理结果
3)    移除name变量右面的"Nb",并输出处理结果
4)    移除name变量开头的a"与最后的"b",并输出处理结果
5)    判断 name 变量是否以 "al" 开头,并输出结果
6)    判断name变量是否以"Nb"结尾,并输出结果
7)    将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果 
8)    将name变量对应的值中的第一个"l"替换成"p",并输出结果
9)    将 name 变量对应的值根据 所有的"l" 分割,并输出结果。
10)    将name变量对应的值根据第一个"l"分割,并输出结果。 
11)    将 name 变量对应的值变大写,并输出结果
12)    将 name 变量对应的值变小写,并输出结果
13)    将name变量对应的值首字母"a"大写,并输出结果
14)    判断name变量对应的值字母"l"出现几次,并输出结果
15)    如果判断name变量对应的值前四位"l"出现几次,并输出结果
16)    从name变量对应的值中找到"N"对应的索引(如果找不到则报错),并输出结果
17)    从name变量对应的值中找到"N"对应的索引(如果找不到则返回-1)输出结果
18)    从name变量对应的值中找到"X le"对应的索引,并输出结果
19)    请输出 name 变量对应的值的第 2 个字符? 
20)    请输出 name 变量对应的值的前 3 个字符? 
21)    请输出 name 变量对应的值的后 2 个字符?
22)    请输出 name 变量对应的值中 "e" 所在索引位置?

2,有字符串s = "123a4b5c"

1)通过对s切片形成新的字符串s1,s1 = "123"
2)通过对s切片形成新的字符串s2,s2 = "a4b"
3)通过对s切片形成新的字符串s3,s3 = "1345"
4)通过对s切片形成字符串s4,s4 = "2ab"
5)通过对s切片形成字符串s5,s5 = "c"
6)通过对s切片形成字符串s6,s6 = "ba2"

3,使用while和for循环分别打印字符串s="asdfer"中每个元素。

4,使用for循环对s="asdfer"进行循环,但是每次打印的内容都是"asdfer"5,使用for循环对s="abcdefg"进行循环,每次打印的内容是每个字符加上sb,    例如:asb, bsb,csb,...gsb。
6,使用for循环对s="321"进行循环,打印的内容依次是:"倒计时3秒""倒计时2秒""倒计时1秒""出发!"7,实现一个整数加法计算器(两个数相加):
如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。

8,升级题:实现一个整数加法计算器(多个数相加):
如:content = input("请输入内容:") 用户输入:5+9+6 +12+  13,然后进行分割再进行计算。

9,计算用户输入的内容中有几个整数(以个位数为单位)。
如:content = input("请输入内容:")   # 如fhdal234slfh98769fjdla

10、写代码,完成下列需求:
用户可持续输入(用while循环),用户使用的情况:
输入A,则显示走大路回家,然后在让用户进一步选择:
是选择公交车,还是步行?
选择公交车,显示10分钟到家,并退出整个程序。
选择步行,显示20分钟到家,并退出整个程序。
输入B,则显示走小路回家,并退出整个程序。
输入C,则显示绕道回家,然后在让用户进一步选择:
是选择游戏厅玩会,还是网吧?
选择游戏厅,则显示 ‘一个半小时到家,爸爸在家,拿棍等你。’并让其重新输入A,B,C选项。
选择网吧,则显示‘两个小时到家,妈妈已做好了战斗准备。’并让其重新输入A,B,C选项。

11、写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?


16、制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名字和爱好进⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx

17、等待⽤户输⼊内容,检测⽤户输⼊内容中是否包含敏感字符?如果存在敏感字符提示“存在敏感字符请重新输⼊”,并允许⽤户重新输⼊并打印。敏感字符:“⼩粉嫩”、“⼤铁锤”
day3 作业
分别用while,for循环输出字符串s = input("你想输入的内容")的每一个字符。
day3 默写

day4 数据类型

1. 列表
2. 列表的索引、切片、步长
3. 列表的常用操作
    增
    删
    改
    查
    其他操作
4. 列表的嵌套
5. range
day4 大纲
1,写代码,有如下列表,按照要求实现每一个功能

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
1)计算列表的长度并输出
2)列表中追加元素"seven",并输出添加后的列表
3)请在列表的第1个位置插入元素"Tony",并输出添加后的列表
4)请修改列表第2个位置的元素为"Kelly",并输出修改后的列表
5)请将列表l2=[1,"a",3,4,"heart"]的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
6)请将字符串s = "qwert"的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
7)请删除列表中的元素"eric",并输出添加后的列表
8)请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
9)请删除列表中的第2至4个元素,并输出删除元素后的列表
10)请将列表所有得元素反转,并输出反转后的列表
11)请计算出"alex"元素在列表li中出现的次数,并输出该次数。

2,写代码,有如下列表,利用切片实现每一个功能

li = [1, 3, 2, "a", 4, "b", 5,"c"]
1)通过对li列表的切片形成新的列表l1,l1 = [1,3,2]
2)通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
3)通过对li列表的切片形成新的列表l3,l3 = ["1,2,4,5]
4)通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]
5)通过对li列表的切片形成新的列表l5,l5 = ["c"]
6)通过对li列表的切片形成新的列表l6,l6 = ["b","a",3]

3,写代码,有如下列表,按照要求实现每一个功能。

lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
1)将列表lis中的"tt"变成大写(用两种方式)。
2)将列表中的数字3变成字符串"100"(用两种方式)。
3)将列表中的字符串"1"变成数字101(用两种方式)。

4,请用代码实现: 
    
li = ["alex", "eric", "rain"]
利用下划线将列表的每一个元素拼接成字符串"alex_eric_rain"

5,利用for循环和range打印出下面列表的索引。

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]

6,利用for循环和range找出100以内所有的偶数并将这些偶数插入到一个新列表中。

7,利用for循环和range 找出50以内能被3整除的数,并将这些数插入到一个新列表中。

8,利用for循环和range从100~1,倒序打印。

9,利用for循环和range从100~10,倒序将所有的偶数添加到一个新列表中,然后对列表的元素进行筛选,将能被4整除的数留下来。

10,利用for循环和range,将1-30的数字一次添加到一个列表中,并循环这个列表,将能被3整除的数改成*11,查找列表li中的元素,移除每个元素的空格,并找出以"A"或者"a"开头,并以"c"结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。
li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", "  aqc"]

12,开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符:
敏感词列表 li = ["苍老师", "东京热", "武藤兰", "波多野结衣"]
则将用户输入的内容中的敏感词汇替换成等长度的*(苍老师就替换***),并添加到一个列表中;如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。


13,有如下列表
li = [1, 3, 4, "alex", [3, 7, 8, "TaiBai"], 5, "RiTiAn"]
循环打印列表中的每个元素,遇到列表则再循环打印出它里面的元素。
我想要的结果是:
1
3
4
"alex"
3
7,
8
"taibai"
5
ritian
day4 作业
1,将列表的增删改查不同的方法全部写出来,
例如:增:有三种,append:在后面添加。Insert按照索引添加,
expend:迭代着添加。
2,默写第,13题的实现的代码。
day4 默写

day5 数据类型

1. 字典的增删改查以及其他操作
2. 字典的嵌套
day5 大纲
1,有如下变量(tu是个元祖),请实现要求的功能
    
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
    a. 讲述元祖的特性
    b. 请问tu变量中的第一个元素 "alex" 是否可被修改?
    c. 请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 "Seven"
d. 请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 "Seven"

2, 字典dic,dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
   
a.请循环输出所有的key
b.请循环输出所有的value
     c. 请循环输出所有的key和value
d. 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
e. 请在修改字典中 "k1" 对应的值为 "alex",输出修改后的字典
f. 请在k3对应的值中追加一个元素 44,输出修改后的字典
g. 请在k3对应的值的第 1 个位置插入个元素 18,输出修改后的字典

3,av_catalog = {
    "欧美":{
        "www.youporn.com": ["很多免费的,世界最大的","质量一般"],
        "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
        "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
        "x-art.com":["质量很高,真的很高","全部收费,屌丝请绕过"]
    },
    "日韩":{
        "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]
    },
    "大陆":{
        "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
    }
}

e,给 '大陆' 对应的字典添加一个键值对 '1048' :['一天就封了']
f,删除此"letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"]键值对。
g,给此["全部免费,真好,好人一生平安","服务器在国外,慢"]列表的第一个元素,加上一句话:'可以爬下来'

4、有字符串"k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....}

5、元素分类
有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}

6、输出商品列表,用户输入序号,显示用户选中的商品
    
商品列表:
     goods = [{"name": "电脑", "price": 1999},
         {"name": "鼠标", "price": 10},
         {"name": "游艇", "price": 20},
         {"name": "美女", "price": 998}, ]

要求:
1:页面显示 序号 + 商品名称 + 商品价格,如:
              1 电脑 1999 
               2 鼠标 102:用户输入选择的商品序号,然后打印商品名称及商品价格
3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
4:用户输入Q或者q,退出程序。
day5 作业
1. 字典的增删改查。
2. 过滤敏感字符代码的默写。
li = ["苍老师","东京热","武藤兰","波多野结衣"]
l1 = []
comment = input('请输入评论>>>')
for i in li:
    comment = comment.replace(i,'*'*len(i))
l1.append(comment)
print(l1)
day5 默写

day6 数据类型和编码

1. is == id
2. 代码块
3. 小数据池
4. 编码二
day6 大纲
1,使用循环打印以下效果: 
1: 
* 
** 
*** 
**** 
***** 
2: 
***** 
**** 
*** 
** 
* 
3: 
* 
*** 
***** 
******* 
*********

2, 输入一个广告标语. 判断这个广告是否合法. 根据最新的广告法来判断. 广告法内容过多. 我们就判断是否包含'', '第一', '稀缺', '国家级'等字样. 如果包含.提示:广告不合法. 例如, 
(1)老男孩python世界第一. 不合法 
(2)今年过年不收礼啊. 收礼只收脑白金. 合法



3,敲七游戏. 从1开始数数. 遇到7或者7的倍数(不包含17,27,这种数)要在桌上敲一下. 编程来完成敲七. 
    给出一个任意的数字n. 从1开始数. 数到n结束. 把每个数字都放在列表中, 在数的过程中出现7或者7的倍数(不包含17,27,这种数).则向列表中添加一个'' 
# 例如, 输入10. # lst = [1, 2, 3, 4, 5, 6, '', 8, 9, 10]


4,电影投票. 程序先给出一个目前正在上映的电影列表. 由用户给每一个电影投票. 最终,将该用户投票信息公布出来 。(此题明天可以继续做)
要求:
    1,用户输入序号,进行投票。比如输入序号 1,给黄金兄弟投票1。
    2,每次投票成功,显示给哪部电影投票成功。
    3,退出投票程序后,要显示最终每个电影的投票数。
    
lst = ['黄金兄弟', '解救吾先生', '美国往事', '西西里的美丽传说'] 结果: {'黄金兄弟': 99, '解救吴先生': 80, '美国往事': 6, '西西里的美丽传说': 23}
day6 作业
day6 默写

day7 集合和深浅拷贝

1. 基础数据类型补充
2. 集合set
3. 深浅copy
day7 大纲
1、把列表中所有姓周的人的信息删掉(升级题:此题有坑, 请慎重):
lst = ['周老二', '周星星', '麻花藤', '周扒皮']
结果: lst = ['麻花藤']


2、车牌区域划分, 现给出以下车牌. 根据车牌的信息, 分析出各省的车牌持有量. (升级题)
cars = ['鲁A32444','鲁B12333','京B8989M','黑C49678','黑C46555','沪 B25041'.....] locals = {'':'上海', '':'黑龙江', '':'山东', '':'湖北', '':'湖南', '': '北京'.....} 
结果: {'山东': 2, '北京': 1, '黑龙江': 2, '上海': 1}

 
3、干掉主播. 现有如下主播收益信息: zhubo = {'卢本伟':522000, '冯提莫':189999, '金老板': 99999, '吴老板': 250000, 'alex': 126} 1. 计算主播平均收益值 2. 干掉收益小于平均值的主播 3. 干掉卢本伟
day7 作业
简述什么是深浅copy.
day7 默写

day8 文件操作

1. 文件操作初识
2. 读
3. 写
4. 追加
5. 文件操作的其他方法
6. 文件的改
day8 大纲
1,有如下文件,a1.txt,里面的内容为:

老男孩是最好的学校,
全心全意为学生服务,
只为学生未来,不为牟利。
我说的都是真的。哈哈

分别完成以下的功能:
a,将原文件全部读出来并打印。
b,在原文件后面追加一行内容:信不信由你,反正我信了。
c,将原文件全部读出来,并在后面添加一行内容:信不信由你,反正我信了。
d,将原文件全部清空,换成下面的内容:

每天坚持一点,
每天努力一点,
每天多思考一点,
慢慢你会发现,
你的进步越来越大。
e,将原文件内容全部读取出来,并在‘我说的都是真的。哈哈’这一行的前面加一行,‘你们就信吧~’然后将更改之后的新内容,写入到一个新文件:a1.txt。








2,有如下文件,t1.txt,里面的内容为:

葫芦娃,葫芦娃,
一根藤上七个瓜
风吹雨打,都不怕,
啦啦啦啦。
我可以算命,而且算的特别准:
上面的内容你肯定是心里默唱出来的,对不对?哈哈

分别完成下面的功能:
a,以r+的模式打开原文件,判断原文件是否可读,是否可写。
b,以r的模式打开原文件,利用for循环遍历文件句柄。
c,以r的模式打开原文件,以readlines()方法读取出来,并循环遍历        readlines(),并分析b,与c 有什么区别?深入理解文件句柄与            readlines()结果的区别。
d,以r模式读取‘葫芦娃,’前四个字符。
e,以r模式读取第一行内容,并去除此行前后的空格,制表符,换行符。
f,以r模式打开文件,从‘风吹雨打.....’开始读取,一直读到最后。
g,以a+模式打开文件,先追加一行:‘老男孩教育’然后在从最开始将        原内容全部读取出来。
h,截取原文件,截取内容:‘葫芦娃,葫芦娃,’










3,文件a.txt内容:每一行内容分别为商品名字,价钱,个数。

apple 10 3
tesla 100000 1
mac 3000 2
lenovo 30000 3
chicken 10 3

通过代码,将其构建成这种数据类型:[{'name':'apple','price':10,'amount':3},{'name':'tesla','price':1000000,'amount':1}......] 并计算出总价钱。









4,有如下文件:

alex是老男孩python发起人,创建人。
alex其实是人妖。
谁说alex是sb?
你们真逗,alex再牛逼,也掩饰不住资深屌丝的气质。

将文件中所有的alex都替换成大写的SB(文件的改的操作)。



5,文件a1.txt内容(升级题)

name:apple price:10 amount:3 year:2012
name:tesla price:100000 amount:1 year:2013
.......

通过代码,将其构建成这种数据类型:
[{'name':'apple','price':10,'amount':3},
{'name':'tesla','price':1000000,'amount':1}......]
并计算出总价钱。



6,文件a1.txt内容(升级题)

序号     部门      人数      平均年龄      备注
1       python    30         26         单身狗
2       Linux     26         30         没对象
3       运营部     20         24         女生多
.......

通过代码,将其构建成这种数据类型:
[{'序号':'1','部门':Python,'人数':30,'平均年龄':26,'备注':'单身狗'},
......]
day8 作业
就是第4题的代码
day8 默写

day9 初识函数

1. 函数的初识
2. 函数的返回值
3. 函数的参数
day9 大纲
1,整理函数相关知识点,写博客。

2,写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。

3,写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。

4,写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

5,写函数,计算传入函数的字符串中,[数字]、[字母]、[空格] 以及 [其他]的个数,并返回结果。

6,写函数,接收两个数字参数,返回比较大的那个数字。

7,写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    dic = {"k1": "v1v1", "k2": [11,22,33,44]}
    PS:字典中的value只能是字符串或列表

8,写函数,此函数只接收一个参数且此参数必须是列表数据类型,此函数完成的功能是返回给调用者一个字典,此字典的键值对为此列表的索引及对应的元素。例如传入的列表为:[11,22,33] 返回的字典为 {0:11,1:22,2:33}。

9,写函数,函数接收四个参数分别是:姓名,性别,年龄,学历。用户通过输入这四个内容,然后将这四个内容传入到函数中,此函数接收到这四个内容,将内容追加到一个student_msg文件中。

10,对第9题升级:支持用户持续输入,Q或者q退出,性别默认为男,如果遇到女学生,则把性别输入女。

11,写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(升级题)。
12,写一个函数完成三次登陆功能:(升级题,两天做完)
(1)用户的用户名密码从一个文件register中取出。
(2)register文件包含多个用户名,密码,用户名密码通过|隔开,每个人的用户名密码占用文件中一行。
(3)完成三次验证,三次验证不成功则登录失败,登录失败返回False。
(4)登陆成功返回True。
13,再写一个函数完成注册功能:(升级题,两天做完)
(1)用户输入用户名密码注册。
(2)注册时要验证(文件regsiter中)用户名是否存在,如果存在则让其重新输入用户名,如果不存在,则注册成功。
(3)注册成功后,将注册成功的用户名,密码写入regsiter文件,并以 | 隔开。
(4)注册成功后,返回True,否则返回False。
day9 作业
明日默写。
①,return的作用。
②,传参的几种方法,每个都简单写一个代码。
如,实参,按位置传参。
def func(x,y):
Pass
func(‘a’,’b’)
day9 默写

day10 函数进阶

1. 函数的动态参数:*args、**kwargs,形参的顺序
2. 名称空间,临时名称空间,作用域,取值顺序,加载顺序等
3. global,nonlocal
4. 函数的嵌套
day10 大纲
1,继续整理函数相关知识点,写博客。

2,写函数,接收n个数字,求这些参数数字的和。(动态传参)

3,读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?
    a=10
    b=20
    def test5(a,b):
             print(a,b)
    c = test5(b,a)
    print(c)

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)
5,写函数,传入函数中多个实参(均为可迭代对象如字符串,列表,元祖,集合等),将每个实参的每个元素依次添加到函数的动态参数args里面.
例如 传入函数两个参数[1,2,3] (22,33)最终args为(1,2,3,22,33)

6,写函数,传入函数中多个实参(实参均为字典),将每个实参的键值对依次添加到函数的动态参数kwargs里面.
例如 传入函数两个参数{‘name’:’alex’} {‘age’:1000}最终kwargs为{‘name’:’alex’ ,‘age’:1000}
7, 下面代码成立么?如果不成立为什么报错?怎么解决?
7.1
    a = 2
    def wrapper():
            print(a)
    wrapper()

7.2
    a = 2
    def wrapper():
            a += 1
        print(a)
    wrapper()
7.3
def wrapper():
        a = 1
        def inner():
            print(a)
        inner()
    wrapper()
7.4
def wrapper():
        a = 1
        def inner():
            a += 1
            print(a)
        inner()
    wrapper()

8,写函数,接收两个数字参数,将较小的数字返回.

9,写函数,接收一个参数(此参数类型必须是可迭代对象),将可迭代对象的每个元素以’_’相连接,形成新的字符串,并返回.
例如 传入的可迭代对象为[1,'老男孩','武sir']返回的结果为’1_老男孩_武sir’

10,写函数,传入n个数,返回字典{‘max’:最大值,’min’:最小值}
例如:min_max(2,5,7,8,4) 返回:{‘max’:8,’min’:2}(此题用到max(),min()内置函数)

11,写函数,传入一个参数n,返回n的阶乘
例如:cal(7)  计算7*6*5*4*3*2*1

12写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组(升级题)
例如:[(‘红心’,2),(‘草花’,2), …(‘黑桃’,‘A’)]

13 有如下函数:
def wrapper():
        def inner():
            print(666)
    wrapper()

你可以任意添加代码,用两种或以上的方法,执行inner函数.
day10 作业
1,形参的接收顺序。
2,什么是命名空间,什么是全局名称空间,什么是局部名称空间,什么是内置名称空间。
3,什么是全局作用域,什么是局部作用域。
4,名称空间的加载顺序,取值顺序。
5,解释一下什么是global,什么是nonlocal。
day10 默写

day11 高阶函数

1. 函数名的应用
2. 闭包
3. 可迭代对象
4. 迭代器
5. while 循环模拟 for循环机制
6. 生成器
7. 生成器的表达方式
day11 大纲
1,写函数,传入n个数,返回字典{‘max’:最大值,’min’:最小值}
例如:min_max(2,5,7,8,4) 返回:{‘max’:8,’min’:2}(此题用到max(),min()内置函数)



2,写函数,传入一个参数n,返回n的阶乘
例如:cal(7)  计算7*6*5*4*3*2*1



3,写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组
例如:[(‘红桃’,2),(‘梅花’,2), …(‘黑桃’,‘A’)]


4,有如下函数:
def wrapper():
    def inner():
        print(666)
wrapper()

你可以任意添加代码,用两种或以上的方法,执行inner函数.


5,相关面试题(先从纸上写好答案,然后在运行):
5.1,有函数定义如下:
def calc(a,b,c,d=1,e=2):
    return (a+b)*(c-d)+e
请分别写出下列标号代码的输出结果,如果出错请写出Error。
print(calc(1,2,3,4,5))_____
print(calc(1,2))____
print(calc(e=4,c=5,a=2,b=3))___
print(calc(1,2,3))_____
print(calc(1,2,3,e=4))____
print(calc(1,2,3,d=5,4))_____

5.2,下面代码打印的结果分别是_list1=  ,list2=  ,list3=  .
def extendList(val,list=[]):
    list.append(val)
    return list
list1 = extendList(10)
list2 = extendList(123,[])
list3 = extendList('a')
print('list1=%s'%list1)
print('list2=%s'%list2)
print('list3=%s'%list3)
   

5.3,写代码完成99乘法表.(升级题)
1 * 1 = 1  
2 * 1 = 2 2 * 2 = 4  
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9  
......
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81  
day11 作业
1,什么是闭包。
2,迭代器的好处。
3,用while循环模拟for循环(写具体代码)。
day11 默写

day12 迭代器/生成器

1. 生成器
2. 列表推导式,生成器表达式
day12 大纲
1,整理今天的博客,写课上代码,整理流程图。
2,用列表推导式做下列小题
(1)    过滤掉长度小于3的字符串列表,并将剩下的转换成大写字母
(2)    求(x,y)其中x是0-5之间的偶数,y是0-5之间的奇数组成的元祖列表
(3)    求M中3,6,9组成的列表M = [[1,2,3],[4,5,6],[7,8,9]]
(4)    求出50以内能被3整除的数的平方,并放入到一个列表中。
(5)    构建一个列表:['python1期', 'python2期', 'python3期', 'python4期', 'python6期', 'python7期', 'python8期', 'python9期', 'python10期']
(6)    构建一个列表:[(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6)]
(7)    构建一个列表:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
(8)    有一个列表l1 = ['alex', 'WuSir', '老男孩', '太白']将其构造成这种列表['alex0', 'WuSir1', '老男孩2', '太白3']
(9)有以下数据类型:
x = {
    'name':'alex',
    'Values':[{'timestamp':1517991992.94,
         'values':100,},
        {'timestamp': 1517992000.94,
        'values': 200,},
        {'timestamp': 1517992014.94,
         'values': 300,},
        {'timestamp': 1517992744.94,
         'values': 350},
        {'timestamp': 1517992800.94,
         'values': 280}
        ],}
将上面的数据通过列表推导式转换成下面的类型:[[1517991992.94, 100], [1517992000.94, 200], [1517992014.94, 300], [1517992744.94, 350], [1517992800.94, 280]]
3,求结果:
    v = [i % 2 for i in range(10)]
    print(v)


4,求结果:
v = (i % 2 for i in range(10))
print(v)

5,求结果:

for i in range(5):
    print(i)
print(i)
day12 作业
1. 形参的接收顺序。
2. 什么是命名空间,什么是全局名称空间,什么是局部名称空间,什么是内置名称空间。
3. 什么是全局作用域,什么是局部作用域。
4. 名称空间的加载顺序,取值顺序。
5. 解释一下什么是global,什么是nonlocal。
day12 默写

day13 内置函数

1. 部分内置函数
day13 大纲

无作业、无默写

day14 内置函数2

1. 内置函数2
2. 匿名函数
3. 递归函数
day14 大纲
1.整理今天所学内容,整理知识点,整理博客。

2.画好流程图。

3.都完成的做一下作业(下面题都是用内置函数或者和匿名函数结合做出):

4.用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sb
    name=[‘oldboy’,'alex','wusir']

5.用map来处理下述l,然后用list得到一个新的列表,列表中每个人的名字都是sb结尾
    l=[{'name':'alex'},{'name':'y'}]

6.用filter来处理,得到股票价格大于20的股票名字
shares={
       'IBM':36.6,
       'Lenovo':23.2,
      'oldboy':21.2,
    'ocean':10.2,
    }

7.有下面字典,得到购买每只股票的总价格,并放在一个迭代器中。
结果:list一下[9110.0, 27161.0,......]
portfolio = [
  {'name': 'IBM', 'shares': 100, 'price': 91.1},
    {'name': 'AAPL', 'shares': 50, 'price': 543.22},
    {'name': 'FB', 'shares': 200, 'price': 21.09},
    {'name': 'HPQ', 'shares': 35, 'price': 31.75},
    {'name': 'YHOO', 'shares': 45, 'price': 16.35},
{'name': 'ACME', 'shares': 75, 'price': 115.65}]

8.还是上面的字典,用filter过滤出单价大于100的股票。

9.有下列三种数据类型,
    l1 = [1,2,3,4,5,6]
    l2 = ['oldboy','alex','wusir','太白','日天']
    tu = ('**','***','****','*******')
写代码,最终得到的是(每个元祖第一个元素>2,第三个*至少是4个。)
    [(3, 'wusir', '****'), (4, '太白', '*******')]这样的数据。    



10.有如下数据类型:
    l1 = [ {'sales_volumn': 0},
             {'sales_volumn': 108},
             {'sales_volumn': 337},
             {'sales_volumn': 475},
             {'sales_volumn': 396},
             {'sales_volumn': 172},
             {'sales_volumn': 9},
             {'sales_volumn': 58}, 
             {'sales_volumn': 272}, 
             {'sales_volumn': 456}, 
             {'sales_volumn': 440},
             {'sales_volumn': 239}]
将l1按照列表中的每个字典的values大小进行排序,形成一个新的列表。

11. 求结果
v = [lambda :x for x in range(10)]
print(v)
print(v[0])
print(v[0]())

12. 求结果
v = (lambda :x for x in range(10))
print(v)
print(v[0])
print(v[0]())
print(next(v))
print(next(v)())
day14 作业

无默写

day15 面向对象的初识

1. 面向对象初识
2. 面向对象的结构
3. 类名的使用
4. 对象的使用
5. 类名称空间、对象名称空间
6. 面向对象的组合
day15 大纲

 

转载于:https://www.cnblogs.com/BlameKidd/p/9853119.html

最后

以上就是欢呼小蚂蚁为你收集整理的Python全栈学习_作业集锦(持续更新)的全部内容,希望文章能够帮你解决Python全栈学习_作业集锦(持续更新)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部