python 期末考试复习题(带答案)

python 期末考试复习题(带答案)

需要电子版的小伙伴跳转电子版

一、选择题(每题2分,共70分)

1.下列哪个语句在Python中是非法的?( B )

A、x = y = z = 1 B、x = (y = z + 1)

C、x, y = y, x D、x += y

2.关于Python内存管理,下列说法错误的是(B )

A、变量不必事先声明 B、变量无须先创建和赋值而直接使用

C、变量无须指定类型 D、可以使用del释放资源

3、下面哪个不是Python合法的标识符(B )

A、int32 B、40XL C、self D、name

4、下列哪种说法是错误的 ( A )

A、除字典类型外,所有标准对象均可以用于布尔测试

B、空字符串的布尔值是False

C、空列表对象的布尔值是False

D、值为0的任何数字对象的布尔值是False

5、Python不支持的数据类型有 ( A)

A、char B、int C、float D、list

6、关于Python中的复数,下列说法错误的是(C )

A、表示复数的语法是real + image j

B、实部和虚部都是浮点数

C、虚部必须后缀j,且必须是小写

D、方法conjugate返回复数的共轭复数

7、关于字符串下列说法错误的是 ( B)

A、字符应该视为长度为1的字符串

B、字符串以\0标志字符串的结束

C、既可以用单引号,也可以用双引号创建字符串

D、在三引号字符串中可以包含换行回车等特殊字符

8、以下不能创建一个字典的语句是 ( C )

A、dict1 = {} B、dict2 = { 3 : 5 }

C、dict3 = {[1,2,3]: “uestc”}

D、dict4 = {(1,2,3): “uestc”}

9、下列Python语句正确的是 ( D )

A、min = x if x < y else y

B、max = x > y ? x : y

C、if (x > y) print x

D、while True : pass

10 计算机中信息处理和信息储存用(A)

A 二进制代码

B 十进制代码

C 十六进制代码

D ASCII代码

11 python源程序执行的方式(B)

A 编译执行 B 解析执行 C 直接执行 D边编译边执行

12 Python语言语句块的标记是( C )

A 分号 B 逗号 C 缩进 D /

13 以下是字符转换成字节的方法是(B)

A decode() B encode() C upper() D rstrip()

14 以下是正确的字符串(BD)

A ‘abc”ab” B ‘abc”ab’ C “abc”ab” D “abc\”ab”

15 “ab”+”c”*2 结果是:(C)

A abc2 B abcabc C abcc D ababcc

16 以下会出现错误的是(B)

A ‘北京’.encode()

B ‘北京’.decode()

C ‘北京’.encode().decode()

D 以上都不会错误

17 如下:
str1 = “Runoob example…wow!!!”

str2 = “exam”;

Print(str1.find(str2, 5)) 打印的结果是(B)

A 6 B 7 C 8 D -1

18 下面对count(),index(), find()方法描述错误的是(BC)

A count() 方法用于统计字符串里某个字符出现的次数

B find() 方法检测字符串中是否包含子字符串 str 如果包含子字符串返回开始的索引值,否则会报一个异常

C index() 方法检测字符串中是否包含子字符串 str, 如果str不在 返回-1

D 以上都错误

19 有下面的程序段
if k<=10 and k >0:
if k >5:
if k>8:
x=0
else:
X=1
else:
if k>2:
x=3
else:
x=4

其中k取那组值时 x =3 ( A)

A 3,4,5 B 3,4 C 5,6,7 D 4,5

20 以下不是python中的关键字(D)

A raise B with C import D final

21 调用以下函数返回的值(D)
def myfun():

pass

A 0 B 出错不能运行 C 空字符串 D None

22 函数如下:

def showNnumber(numbers):

for n in numbers:

print(n)

下面那些在调用函数时会报错( C)

A showNumer([2,4,5]) B showNnumber(‘abcesf’)

C showNnumber(3.4) D showNumber((12,4,5))

23 函数如下

def chanageInt(number2):
number2 = number2+1
print("changeInt: number2= ",number2)

#调用

number1 = 2

chanageInt(number1)

print(“number:”,number1)

打印结果哪项是正确的( B )

A changeInt: number2= 3 number: 3

B changeInt: number2= 3 number: 2

C number: 2 changeInt: number2= 2

D number: 2 changeInt: number2= 3

24 函数如下

def chanageList(list):
list.append(" end")

print(“list”,list)

#调用

strs =[‘1’,‘2’]

chanageList(strs)

print(“strs”,strs)

下面对 strs 和 list 的值输出正确的是( C D )

A strs [‘1’,‘2’] B list [‘1’,‘2’]

C list [‘1’,‘2’,’end’] D strs [‘1’,‘2’,’end’]

25 定义类如下:

class Hello():

pass

下面说明错误的是( C D )

A 该类实例中包含__dir__()方法

B 该类实例中包含__hash__()方法

C 该类实例中只包含__dir__(),不包含__hash__()

D 该类没有定义任何方法,所以该实例中没有包含任何方法

26

定义类如下:

class hello():

def showInfo(sef):

print(self.x)

下面描述正确的是(AC)

A该类不可以实例化

B 该类可以实例化

C 在pycharm 工具中会出现语法错误,说self没有定义

D 该类可以实例化,并且能正常通过对象调用showInfo()

27 关于python类 说法错误的是(B)

A 类的实例方法必须创建对象后才可以调用

B 类的实例方法必须创建对象前才可以调用

C 类的类方法可以用对象和类名来调用

D 类的静态属性可以用类名和对象来调用

28 定义类如下

class Hello():

def init(self,name)

self.name=name

def showInfo(self)

print(self.name)

下面代码能正常执行的 ( C )

A h = Hello

h.showInfo()

B h = Hello()

h.showInfo(‘张三’)

C h = Hello(‘张三’)

h.showInfo()

D h = Hello(‘admin’)

showInfo

29 定义类如下:

class A():

def a():

print(“a”)

class B ():

def b():

print(“b”)

class C():

def c():

print©

class D(A,C):

def d():

print(“d”)

d = D()

d.a()

d.b()

d.d()

以下程序能执行的结果是(D)

A a,b,d B a,d

C d,a D 执行会报错

30 以下哪项python能正常启动(D)

A 拼写错误 B 错误表达式

C 缩进错误 D 手动抛出异常

31 有关异常说法正确的是(B)

A 程序中抛出异常终止程序

B 程序中抛出异常不一定终止程序

C 拼写错误会导致程序终止

D 缩进错误会导致程序终止

32 对以下程序描述错误的是(A)

try:

  #语句块1

except IndexError as i:

  # 语句块2

A 改程序对异常处理了,因此一定不会终止程序

B 改程序对异常处理了,不一定不会因异常引发终止

C 语句块1,如果抛出IndexError 异常,不会因为异常终止程序

D 语句块2 不一定会执行

33 程序如下:

try:
number = int(input(“请输入数字:”))
print(“number:”,number)
print(“=hello”)
except Exception as e:
# 报错错误日志
print("打印异常详情信息: ",e)
else:
print(“没有异常”)
finally:#关闭资源
print(“finally”)
print(“end”)

输入的是 1a 结果是:( B )

A number: 1

打印异常详情信息: invalid literal for int() with base 10:

finally

end

B 打印异常详情信息: invalid literal for int() with base 10:

finally

end

C hello===

打印异常详情信息: invalid literal for int() with base 10:

finally

End

D 以上都正确

34 导入模块的方式错误的是(D)

A import mo B from mo import *

C import mo as m D import m from mo

35 以下关于模块说法错误的是(C)

A 一个xx.py就是一个模块

B 任何一个普通的xx.py文件可以作为模块导入

C 模块文件的扩展名不一定是 .py

D 运行时会从制定的目录搜索导入的模块,如果没有,会报错异常

二 解答题 (每题2分 ,共 12分)

1 请描述列表和元组之间的区别,以及分别在他们之间转型?

List 和tuple 区别

不同点:
1 定义的方式
list[] tuple()
2 是否可变
list可变 tuple() 不可变
3 list中有 append(),insert() 函数,tuple中没有

相同点:
都是有序的集合(容器)

List转为tuple:

temp_list = [1,2,3,4,5]

将temp_list进行强制转换:tuple(temp_list)

tuple 转为list:

temp_tuple = (1,2,3)

方法类似,也是进行强制转换即可:list(temp_tuple)

2 定义函数的规则?

1函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
2任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
3函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
4函数内容以冒号起始,并且缩进。
5 return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

3 __new__和__init__的区别?
new__是一个静态方法,而__init__是一个实例方法.
new__方法会返回一个创建的实例,而__init__什么都不返回.
只有在__new__返回一个cls的实例时后面的__init__才能被调用.
当创建一个新实例时调用__new
,初始化一个实例时用__init
.
4 read,readline和readlines之间的区别?
read 读取整个文件

readline 读取下一行,使用生成器方法

readlines 读取整个文件到一个迭代器以供我们遍历

5 去掉old_list = [1,1,1,3,4 ] 中的重复元素
new_list = list(set(old_list))

6 用两个元素之间有对应关系的list构造一个dict
names = [‘jianpx’, ‘yue’]
ages = [23, 40]
m = dict(zip(names,ages))

三 编程题(每题6分 共18分)

1 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示

def main():
s = int(input(‘请输入成绩:’))
if s>=90:
grade = ‘A’
elif s>=60:
grade = ‘B’
else:
grade = ‘C’
print grade,
main()

2 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
def main():
s = input(‘input a string:’)
letter = 0 #统计字母
space = 0#统计空格
digit = 0 #统计数字
other = 0 #统计其他字符
for c in s:
if c.isalpha():
letter+=1
elif c.isspace():
space+=1
elif c.isdigit():
digit+=1
else:
other+=1
print(“字母:”,letter,”空格:”,space,”数字:”,digit,”其他字符:”,other)
main()

3 对10个数进行排序

l = []

for i in range(10):
l.append(int(input(‘Input a number:’)))

#可以直接使用sort函数:l.sort()

#也可以自己写排序代码(选择排序)
for i in range(9):
for j in range(i+1,10):
if l[j]<l[i]:
temp = l[j]
l[j] = l[i]
l[i] = temp

print l

2,4,6,7,8,9,3,1,4

  • 64
    点赞
  • 492
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我慢慢地也过来了

谢谢大佬的投喂

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值