8.4 周考模拟试卷

周考一

1 介绍

满分120分,90分及格

 

考试范围:

  1. Python语法
  2. 数据类型
  3. 流程控制
  4. 文件处理
  5. 函数装饰器

 

考试时间:

    周五下午3.00点-晚6:30

2 基础题(50分)

  1. 请说明python解释器与python语言的区别或联系(1分)
  2. 执行python脚本的两种方式是?(1分)
  3. 定义字符串变量时,单引号,双引号,三引号什么区别?(1分)
  4. 定义一个变量有三个特性,分别为?(1分)

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

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

  1. 使用链式赋值的方式将10赋值给变量x、y、z(1分)
  2. count=10,使用增量赋值,将count的值增加111(1分)
  3. 使用一行代码将info=[‘egon’,18,’male’]将列表中用户的名字,年龄,性别分别赋值给变量name,age,gender(1分)
  4. 简述数据类型int,str,list,tuple,dict,set的应用场景(1分)
  5. 有列表data=[‘alex’,49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量(1分)
  6. 有如下列表,请取出第三个学生的第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. 请判断下述代码的结果为?(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. 阅读代码,请写出执行结果

代码一:(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分)

按照可变\不可变类型分类?(1分)

按照取值方式分类(直接取值,按索引,按key取)?(1分)

按照有序\无序分类?(1分)

  1. 阅读代码,请写出执行结果 (1分)

a = "alex"

b = a.upper()

print(a)

print(b)

print(a==b)

 

  1. 写代码,有如下变量,请按照要求实现每个功能 (共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)   使用切片的方式将内容顺序翻转

 

  1. 有变量msg='/etc/a.txt|365|get'(1分)

将该变量中的文件名,文件大小,操作方法切割出来

  1. msg='hello alex'中的alex替换成SB(1分)
  2. 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。(1分)

即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}

  1. 有如下两个集合,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分)

  1. 使用with语法以文本的方式打开一个文件,并读出文件所有内容(1分)该内容的数据类型是?(1分)
  2. seek方法的两个参数分别是什么作用(1分)
  3. open文件时,有哪些模式,分别代表什么含义(2分)
  4. 对字典取值时 dict.get(name")和 dict[“name”]的区别?(2分)

3 综合题(70分)

 

1.简述python内存管理 (10分)

2.简述解释型语言的特点并加以说明(10)

3.编写购物车程序,实现以下功能(55分)

a)      实现注册

  1. 用户名不可重复
  2. 密码至少6位

b)     登陆

  1. 密码错误三次锁定5秒

c)      购物

  1. 序号或商品名称均可购物

d)     查看购物车

  1. 结算
  2. 清空

e)      账户信息

  1. 修改密码
  2. 注销账号

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  查看了购物车,用户名为:

                    

       

posted on 2018-08-11 11:23  2Maike  阅读(232)  评论(0)    收藏  举报