阶段考试(月考无解释版)

阶段考试(月考)

【一】介绍

满分100分,90分及格

考试范围:

  • 1.Python基础
  • 2.数据类型
  • 3.流程控制
  • 4.文件处理
  • 5.函数
  • 6.面向对象

【二】基础题(40分)

1.定义一个变量有三个特性,分别为?(1分)

等号比较的是什么?(1分)

is比较的是什么?(1分)

2.使用链式赋值的方式将10赋值给变量x、y、z(1分)

3.有一个工资列表[3.1,2.1,4.3,2.2,1.3,9.3],请取出前两个月的工资,分别赋值给两个变量名,用一行代码实现(1分)

4.可变的数据类型有哪些,不可变的数据类型有哪些(1分)

5.容器类型有?序列类型有?(1分)

6.请说明python2与python3中的默认编码是什么?(1分)

7.如何保证程序不出现乱码问题?(1分)

8.unicode,utf-8,gbk,ascii用个几个字节表示英文,用几个字节表示中文(0.5分)#-\*-coding:utf-8-\*- 的作用是什么?(0.5分)

9.在python3中的str是什么编码的,如何把python3中的str转成utf-8格式的bytes(1分)

10.在python3中如何把utf-8格式的bytes解码成str(1分)

11.什么是名称空间?名称空间的加载顺序是?查找名字的顺序是?(1分)

12.多重继承的执行顺序,请解答以下输出结果是什么?并解释。(3分)

13.什么是可迭代对象,什么是迭代器对象?(1分)

14.迭代器对象有什么优点(1分)

15.简述for循环的原理(1分)

16.简述面向过程编程(1分)

17.比较两个值得大小,获得较大的一个值,用一行代码实现(1分)

18.使用列表生成式或生成器表达式解决下列问题

1、将names=[‘kevin’,'jack','tony','tank']中的名字全部变大写(1分)

2、将names=[‘kevin’,’ 'jack_sb’, 'tank', 'tony']中以sb结尾的名字过滤掉,然后保存剩下的名字长度(1分)

3、求文件a.txt中最长的行的长度(长度按字符个数算,需要使用max函数)(1分)

4、求文件a.txt中总共包含的字符个数?(1分)

5、思考(1分)

with open('a.txt') as f:

  g=(len(line) for line in f)

print(sum(g)) #为何报错?

6、文件shopping.txt内容如下

求总共花了多少钱?(2分)
打印出所有商品的信息,格式为[{'name':'xxx','price':333,'count':3},...]
求单价大于10000的商品信息,格式同上(2分)

19.有一个存放员工名与其月薪的字典如下

salaries={

  'kevin':3000,

  'jack':100000000,

  'tony':10000,

  'tank':2000

}

请用一行代码实现

1、求薪资最高的那名员工姓名(2分)

2、将字典映射成一个列表,[(‘kevin', 36000), ('jack', 1200000000), ('tony', 120000), ('tank’, 24000)],列表内每一个元素是员工姓名、员工的年薪(1分)

3、过滤出薪资大于10000的员工姓名(1分)

20.简述yield与return的相同点与不同点(1分)

21.下面这段代码的输出结果将是什么?请解释。(1分)

class Parent(object):
    x = 1


class Child1(Parent):
    pass


class Child2(Parent):
    pass


print(Parent.x, Child1.x, Child2.x)
# 1 1 1
Child1.x = 2

print(Parent.x, Child1.x, Child2.x)
# 1 2 1
Parent.x = 3

print(Parent.x, Child1.x, Child2.x)
# 3 2 3

22.类的属性和对象的属性有什么区别?(1分)

23.什么是新式类,什么是经典类,二者有什么区别?什么是深度优先,什么是广度优先?(1分)

24.什么是绑定到对象的方法,、如何定义,如何调用,给谁用?有什么特性(1分)

25.有字符串'email1:378533872@qq.com email2:333312312@163.com eamil3:jacksb123@gmail.com'匹配出所有的邮箱地址:['378533872@qq.com', '333312312@163.com', 'alexsb123@gmail.com'](1分)

【三】综合题(60分)

考试内容:从零开始编写ATM项目所有功能(面向过程版本和面向对象版本人选其一)

• 新建项目,整个编程期间,pycharm窗口最大化,不允许切换窗口,再次强调!!!考试期间不允许切换窗口,不允许窗口最小化!!!!

• 项目中用到的变量名,函数名,文件名,模块名都需要跟老师的不一样,可以考虑加入自己的名字作为前缀(非常丑陋,但为了防止作弊)

• 所有功能需要正常运行

posted @ 2023-06-30 10:43  Chimengmeng  阅读(59)  评论(0)    收藏  举报