1
2
3
4
5
6
7
|
1.
文件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
}......] 并计算出总价钱。
|
View Code
1
2
3
4
5
6
7
|
2.
有如下文件:<br>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
alex是老男孩python发起人,创建人。
alex其实是人妖。
谁说alex是sb?
你们真逗,alex再牛逼,也掩饰不住资深屌丝的气质。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
将文件中所有的alex都替换成大写的SB。
|
View Code
1
2
3
4
5
6
7
8
9
|
3.
文件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
}......]
并计算出总价钱。
|
View Code
1
2
3
4
5
6
7
8
|
4.
文件内容:
序号 部门 人数 平均年龄 备注
1
python
30
26
单身狗
2
Linux
26
30
没对象
3
运营部
20
24
女生多
通过代码,将其构建成这种数据类型:
[{
'序号'
:
'1'
,
'部门'
:Python,
'人数'
:
30
,
'平均年龄'
:
26
,
'备注'
:
'单身狗'
},
......]
|
View Code
1
|
5.
写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
|
View Code
1
|
6.
写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于
5
。
|
View Code
1
|
7.
写函数,检查传入列表的长度,如果大于
2
,那么仅保留前两个长度的内容,并将新内容返回给调用者。
|
View Code
1
|
8.
写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数,并返回结果。
|
View Code
1
|
9.
写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容,并返回结果。
|
View Code
1
2
3
|
10.
写函数,检查传入字典的每一个value的长度,如果大于
2
,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic
=
{
"k1"
:
"v1v1"
,
"k2"
: [
11
,
22
,
33
,
44
]}
PS:字典中的value只能是字符串或列表
|
View Code
1
|
11.
写函数,接收两个数字参数,返回比较大的那个数字。
|
View Code
1
|
12.
写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作.
|
View Code
1
|
13.
写一个函数完成三次登陆功能,再写一个函数完成注册功能
|
View Code
1
2
3
4
5
6
7
8
9
10
11
12
|
14.
模拟公司hr录入员工账号密码的程序。
1
),员工的账号密码存储在这种数据类型中:
user_list
=
[
{
'username'
:
'barry'
,
'password'
:
'1234'
},
{
'username'
:
'alex'
,
'password'
:
'asdf'
},
.........
]
2
)非法字符模板:board
=
[
'张三'
,
'李小四'
,
'王二麻子'
]
3
)Hr输入用户名,密码(可持续输入,如果想终止程序,那就在输入用户名时输入Q或者q退出程序),
在Hr输入用户名时,检测此用户名是否有board里面的非法字符,如果有非法字符,
则将非法字符替换成同数量的
*
(如王二麻子替换成
*
*
*
*
),然后添加到user_list中,
如果没有非法字符,则直接添加到user_list中,每次添加成功后,打印出刚添加的用户名,密码。
|
View Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
15.
按要求完成下列转化(不要按照索引去做)。
list3
=
[
{
"name"
:
"alex"
,
"hobby"
:
"抽烟"
},
{
"name"
:
"alex"
,
"hobby"
:
"喝酒"
},
{
"name"
:
"alex"
,
"hobby"
:
"烫头"
},
{
"name"
:
"alex"
,
"hobby"
:
"Massage"
},
{
"name"
:
"wusir"
,
"hobby"
:
"喊麦"
},
{
"name"
:
"wusir"
,
"hobby"
:
"街舞"
},
]
如何把上面的列表转换成下方的列表?
list4
=
[
{
"name"
:
"alex"
,
"hobby_list"
: [
"抽烟"
,
"喝酒"
,
"烫头"
,
"Massage"
]},
{
"name"
:
"wusir"
,
"hobby_list"
: [
"喊麦"
,
"街舞"
]},
]
|
View Code
1
2
3
4
|
16.
实现一个整数加法计算器:
如:content
=
input
(‘请输入内容:’)
# 如用户输入:5+8+7....(最少输入两个数相加),
然后进行分割再进行计算,将最后的计算结果添加到此字典中(替换
None
):
dic
=
{‘最终计算结果’:
None
}。
|
View Code
1
|
17.
查找列表li中的元素,移除每个元素的空格,并找出以’A’或者’a’开头,并以’c’结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表
|
View Code
1
2
|
18.
补充代码(从已有的代码下面继续写):
有如下值li
=
[
11
,
22
,
33
,
44
,
55
,
77
,
88
,
99
,
90
],将所有大于
66
的值保存至字典的第一个key中,将小于
66
的值保存至第二个key的值中。
|
View Code
1
|
19.
计算用户输入内容中索引为奇数并且对应的元素为数字的个数(没有则个数为零)
|
View Code
1
|
20.
分别使用
while
循环,和
for
循环打印
1
-
2
+
3
-
4
+
5.
......
+
99
的结果
|
View Code
1
|
21.
有列表li
=
[‘alex’,’wusir’,’rain’],通过操作该列表构造一个字符串s
=
’alexwusirrain
|
View Code
1
2
|
22.
写函数,返回一个扑克牌列表,里面有
52
项,每一项是一个元组
例如:[(‘红心’,
2
), (‘草花’,
2
), …(‘黑桃,‘A’)]
|
View Code
1
2
|
23.
写函数,传入n个数,返回字典{‘
max
’:最大值,’
min
’:最小值}
例如:min_max(
2
,
5
,
7
,
8
,
4
) 返回:{‘
max
’:
8
,’
min
’:
2
}
|
View Code
1
2
3
4
5
|
24.
写函数,专门计算图形的面积
其中嵌套函数,计算圆的面积,正方形的面积和长方形的面积
调用函数area(‘圆形’,圆半径) 返回圆的面积
调用函数area(‘正方形’,边长) 返回正方形的面积
调用函数area(‘长方形’,长,宽) 返回长方形的面积
|
View Code
1
|
25.
写函数,传入一个参数n,返回n的阶乘。例如: cal(
7
) 计算
7
*
6
*
5
*
4
*
3
*
2
*
1
|
View Code
1
|
26.
编写下载网页内容的函数,要求功能是:用户传入一个url,函数返回下载页面的结果
|
View Code
1
2
|
27.
实现下载的页面存放于文件中,如果文件内有值(文件大小不为
0
),就优先从文件中读取网页内容,否则,就去下载,然后存到文件中
扩展功能:用户可以选择缓存介质
/
缓存引擎,针对不同的url,缓存到不同的文件中
|
View Code
1
2
3
4
5
6
|
28.
给每个函数写一个记录日志的功能,
功能要求:每一次调用函数之前,要将函数名称,时间节点记录到log的日志中。
所需模块:
import
time
struct_time
=
time.localtime()
print
(time.strftime(
"%Y-%m-%d %H:%M:%S"
,struct_time))
|
View Code
1
|
29.
编写装饰器,为多个函数加上认证的功能(用户的账号密码来源于文件),要求登录成功一次,后续的函数都无需再输入用户名和密码
|
View Code
1
2
3
4
5
6
|
30.
在编写装饰器,为多个函数加上认证的功能(用户的账号密码来源于文件),要求登录成功一次,后续的函数都无需再输入用户名和密码。这个作业之上进行升级操作:
设置两套密码,一套为京东账号密码,一套为淘宝账号密码保存在文件中。
设置四个函数,分别代表 京东首页,京东超市,淘宝首页,淘宝超市。
循环打印四个选项:东首页,京东超市,淘宝首页,淘宝超市。
供用户选择,用户输入选项后,执行该函数,四个函数都加上认证功能,只要登陆成功一次,在选择其他函数,后续都无需输入用户名和密码。
相关提示:用带参数的装饰器。装饰器内部加入判断,验证不同的账户密码。
|
View Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
31.
写程序完成下列功能:
1
),启动程序,首页面应该显示成如下格式:
欢迎来到博客园首页
1
:请登录
2
:请注册
3
:文章页面
4
:日记页面
5
:评论页面
6
:收藏页面
7
:注销
8
:退出程序
2
),用户输入选项,
3
~
6
选项必须在用户登录成功之后,才能访问成功。
3
),用户选择登录,用户名密码从register文件中读取验证,三次机会,没成功则结束整个程 序运行,成功之后,可以选择访问
3
~
6
项,访问页面之前,
必须要在log文件中打印日志, 日志格式为
-
-
>用户:xx 在xx年xx月xx日 执行了
%
s函数,访问页面时,页面内容为:欢 迎xx用户访问评论(文章,日记,收藏)页面
4
),如果用户没有注册,则可以选择注册,注册成功之后,可以自动完成登录,然后进入首页选择。
5
),注销用户是指注销用户的登录状态,使其在访问任何页面时,必须重新登录。
6
),退出程序为结束整个程序运行。
|
View Code