8.4 周考模拟试卷
周考一
1 介绍
满分120分,90分及格
考试范围:
- Python语法
- 数据类型
- 流程控制
- 文件处理
- 函数装饰器
考试时间:
周五下午3.00点-晚6:30
2 基础题(50分)
- 请说明python解释器与python语言的区别或联系(1分)
- 执行python脚本的两种方式是?(1分)
- 定义字符串变量时,单引号,双引号,三引号什么区别?(1分)
- 定义一个变量有三个特性,分别为?(1分)
等号比较的是什么?(1分)
is比较的是什么?(1分)
- 使用链式赋值的方式将10赋值给变量x、y、z(1分)
- count=10,使用增量赋值,将count的值增加111(1分)
- 使用一行代码将info=[‘egon’,18,’male’]将列表中用户的名字,年龄,性别分别赋值给变量name,age,gender(1分)
- 简述数据类型int,str,list,tuple,dict,set的应用场景(1分)
- 有列表data=[‘alex’,49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量(1分)
- 有如下列表,请取出第三个学生的第1个爱好(1分)
students=[
{'name':'alex','age':38,'hobbies':['play','sleep']},
{'name':'egon','age':18,'hobbies':['read','sleep']},
{'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
]
11. 有列表 students_info=[[‘egon’,18,[‘play',]],['alex',18,['play','sleep']]],请取出第二个学生的第二个爱好(1分)
12. 所有数据类型自带布尔值,布尔值为假的有?(1分)
- 请判断下述代码的结果为?(1分)
print(10 > 3 and 'alex' != 'sb' or 'abc' > 'd')
print(10 > 3 and 'alex' == 'sb' or 'abc' < 'd')
print(10 > 3 or 'alex' < 'sb' or 'abc' < 'd' and 'egon' == ‘nb')
- 阅读代码,请写出执行结果
代码一:(1分)
if True or False and False:
print('yes')
else:
print('no')
代码二:(1分)
if (True or False) and False:
print('yes')
else:
print('no')
15. 请使用while和for两种方式来循环所有可循环的数据类型(while:1分,for:1分),比如
编写for循环,利用索引遍历出每一个字符
msg='hello egon 666’
编写while循环,利用索引遍历出每一个字符
msg='hello egon 666’
16. 编写while循环,让用户输入用户名和密码,如果用户为空或者数字,则重新输入(1分)
17. 求1-2+3-4+5 ... 99的所有数的和(1分)
18. 求出1-1000之间的水仙花数(3分)
19. 请说明break与continue的区别(2分)
- 常用数据类型有:字符串,列表,元组,字典,集合,请分类
按照存值个数分类?(1分)
按照可变\不可变类型分类?(1分)
按照取值方式分类(直接取值,按索引,按key取)?(1分)
按照有序\无序分类?(1分)
- 阅读代码,请写出执行结果 (1分)
a = "alex"
b = a.upper()
print(a)
print(b)
print(a==b)
- 写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分)
name = " aleX"
1) 移除 name 变量对应的值两边的空格,并输出处理结果
2) 判断 name 变量对应的值是否以
"al" 开头,并输出结果
3) 判断 name 变量对应的值是否以 "X"
结尾,并输出结果
4) 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
5) 将 name 变量对应的值根据 “l” 分割,并输出结果。
6) 将 name 变量对应的值变大写,并输出结果
7) 将 name 变量对应的值变小写,并输出结果
8) 请输出 name 变量对应的值的第 2 个字符?
9) 请输出 name 变量对应的值的前 3 个字符?
10) 请输出 name 变量对应的值的后 2 个字符?
11) 请输出 name 变量对应的值中 “e” 所在索引位置?
12) 使用切片的方式将内容顺序翻转
- 有变量msg='/etc/a.txt|365|get'(1分)
将该变量中的文件名,文件大小,操作方法切割出来
- msg='hello alex'中的alex替换成SB(1分)
- 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。(1分)
即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
- 有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
pythons={‘alex’,’egon’,’yuanhao’,’wupeiqi’,’cobila’,’biubiu’}
linuxs={‘wupeiqi’,’oldboy’,’cobila’}
求出即报名python又报名linux课程的学员名字集合(1分)
求出所有报名的学生名字集合(1分)
求出只报名python课程的学员名字(1分)
求出没有同时这两门课程的学员名字集合(2分)
27. 什么是字符编码,如何避免乱码问题?(1分)
28. unicode转成utf-8的过程称为encode还是decode(1分)
29. 在python3中bytes类型与unicode类型二者之间如何相互转换?(1分)
- 使用with语法以文本的方式打开一个文件,并读出文件所有内容(1分)该内容的数据类型是?(1分)
- seek方法的两个参数分别是什么作用(1分)
- open文件时,有哪些模式,分别代表什么含义(2分)
- 对字典取值时 dict.get(“name")和 dict[“name”]的区别?(2分)
3 综合题(70分)
1.简述python内存管理 (10分)
2.简述解释型语言的特点并加以说明(10)
3.编写购物车程序,实现以下功能(55分)
a) 实现注册
- 用户名不可重复
- 密码至少6位
b) 登陆
- 密码错误三次锁定5秒
c) 购物
- 序号或商品名称均可购物
d) 查看购物车
- 结算
- 清空
e) 账户信息
- 修改密码
- 注销账号
f) 账户充值
g) 操作记录 使用装饰器完成
以上功能中购物 查看购物车 账户信息 需要登录后再可以使用
操作记录不是给用户使用的,而是会自动记录操作信息,写入文件中
例如:
2018-08-03 13:30:30 执行了登录,用户名为:
2018-08-03 13:30:30 执行了注册,用户名为:
2018-08-03 13:30:30 修改了密码,用户名为:
2018-08-03 13:30:30 查看了购物车,用户名为:
浙公网安备 33010602011771号