Python大学期末试卷练习题
选择题1
1.Python起源于( A )。
A)ABC语言 B)C语言 C)java语言 D)modular-3语言
2.下列说法错误的是( C )。
A)python是免费的开源软件
B)python是面向对象的程序设计语言
C)python中的变量必须先定义后使用(在Python中,变量不需要预先声明,可以直接赋值使用。)
D)python具有跨平台性
3.下列关于python程序运行方式的说法错误的是( D )。
A)python程序在运行时,需要python解释器
B)python命令可以在python交互环境中执行
C)python的冻结二进制文件是一个可执行文件
D)要运行冻结二进制文件,也需要提前安装python解释器(独立可执行文件)
4.下列关于IDLE的说法错误的是( D )。
A)在IDLE中可以交互式地执行python命令
B)在IDLE中科编写python程序
C)在IDLE中可运行python程序
D)在IDLE交互环境中,输入命令后按F5键执行(在IDLE交互环境中,输入命令后按F5键执行。在IDLE中,按F5键是用来运行当前脚本文件的,而不是在交互环境中执行命令。)
5.Python用于定义代码块的符号是( B )。(Python使用缩进来定义代码块。)
A)# B)空格 C)\ D){}
6.下列说法错误的是( C )。
A)使用续行符号可以将一条语句书写为多行
B)使用语句分隔符号可以将多条语句写在一行
C)以“#”开头的一句话可以写在多个行中(#号用于单行注释,如果要写多行注释,应该使用三个引号(单引号或双引号)。)
D)圆括号中的表达式可以分行书写
7.下列选项中可以作为变量名的是( AC )。
A)true B)2-ab C)false D)with
8.下列说法错误的是( BC )。
A)input函数只能输入字符串
B)任何情况下均可按回车键结束输入
C)任何情况下均可按ctrl+z组合键结束输入 (撤回)
D)input函数不能输入整数
9.下列赋值语句中错误的是( A )。
A)x,y=10 B)x,y=1,2 C)(x,y)=1,2 D)[x,y]=’ab’
10.下列选项中不是有效整数的是( B )。0b前缀表示二进制数,而123不是一个有效的二进制数。
A)123 B)0b123 C)0o123 D)0x123
11.下列选项不是有效常量的是( B )。
A)0xabc B)true 布尔类型常量 C)2-3j D)1.2E-5
12.表达式“5%-2.0”的计算结果为( B )。(负数取模的结果与除法的商有关,这里5除以-2的商是-2,余数是-1。
A)1 B)-1 C)1.0 D)-1.0
15.下列选项中不是集合的是( A )。
A){}是一个空字典,而不是集合 B){1} C){1,‘abc’} D){1,(2,3)}
16.下列选项中存在语法错误的是( D )。
A)x={1:’a’,2:’b’}
B)x={‘a’:1,’b’:2}
C)x={(1,2):’a’,[3,4]:’b’}
D)x={‘a’: (1,2),’b’: (3,4)}}多了一个右花括号。
17.下列类型的对象属于可变序列的是( B )。
A)字符串B)列表C)集合D)元组
18.在表达式a+b中,变量a和b的类型不能使下列选项中的( C )。
A)字符串B)列表C)集合D)元组
19.下列语句中不能实现程序节本机构的是( D )。
A)if B)for C)while D)try try-except结构用于异常处理,而不是控制程序的基本结构。
20.执行下面的语句后,输出的结果是( D )。
S=0
For a in range(1,5):
For b in range(1,a):
S+=1
Print(s)
A)0 B)1 C)5 D)6
这是一个嵌套循环,外层循环从1到4,内层循环从1到外层循环的当前值,每次内层循环都会执行一次s+=1,所以总共有1+2+3=6次
选择题2
1.以下不是python保留字的是(A)
A) do B) def C) for D)while
2.以下代码的输出结果是( C )
range(6)生成的列表包含3,所以3 in lst返回True。
lst= list(range(6))
print(3 in lst)
A)0 B) -1 C) True D) False
3.Python用于定义代码块的符号是( B )。
A)# B)空格 C)\ D){}
4.以下代码的输出结果是( D )nsert方法在索引2处插入3,原来的元素后移。
s=[1,4,5,6]
s.insert(2,3)
print(s)
A)[4,2,3,5, 1] B)[5,4,3,2, 1] C)[4,3,2,5,6] D)[1,4,3,5,6]
5.下列选项中可以作为变量名的是( A)
A)true B)2-ab C)False D)for
6.以下代码的执行结果是(A)
s = "11+5in"
print(eval(s[1 :-2]))
A)6 B)16 C)11+5 D)执行错误
7.执行下面语句后,输出结果为( B )。
X=’abcdef
Print(x[2:3])’
切片操作x[2:3]只取索引2处的字符
A)b B)c C)bc D)cd
8.表达式“2+6/3+True”的计算结果的数据类型为( C )
A)int B)bool C)float D)decimal
在这个表达式中,6除以3的结果是2.0,这是一个浮点数。True在Python中表示1,所以整个表达式的计算结果是2.0 + 2.0 + 1 = 5.0,这是一个浮点数。
9.下列选项中不是集合的是( A )。
A){} B){1} C){1,‘abc’} D){1,(2,3)}
选项A中的{}实际上是一个空字典,而不是一个空集合。在Python中,空集合应该用set()来表示。
10.以下代码的执行结果是( B)
ls=[[1,2,3],[[ 4,5],6],[7,8]]
print(len(ls))
A)1 B)3 C)4 D)8
len(ls)返回的是列表ls的长度,即它包含的子列表的数量。在这个例子中,ls包含了三个子列表,所以长度是3。
11.d={'food':{'bun':1,'egg':5},'bun':2,'egg':3} 以下能够输出数字的语句是( A )
A) print(d['egg']) B) print([‘food1’][1])
C) print([‘food’][‘egg’]) D) print(d['bun'][1])
选项A中的print(d['egg'])会输出字典d中键'egg'对应的值,即3,这是一个数字。其他选项都会导致KeyError或IndexError。
1、一个部件由众多零件组成,同一种零件可用于不同部件,则二者间的联系是(D)
A、-对一 B、一对多C、多对一 D、多对多
一个部件可以由多个不同的零件组成,同时同一个零件可以用于多个不同的部件,因此它们之间的关系是多对多的
2、以下不是python保留字的是(A)
A、 do B、 def C、 pass D、while
3、下面叙述错误的是(A)
对象具有封装性,它是属性和方法的封装体,每个对象都是其对应类的实例,对象间的通信是通过消息传递实现的。
A、对象不具有封装性
B、对象是属性和方法的封装体
C、一个对象是其对应类的实例
D、对象间的通信是靠消息传递
4、以下叙述错误的是(D)
函数可以通过不同的参数实现不同的功能,不一定需要提供相同的参数。
A、函数通过函数名进行调用
B、函数是一段可重用的语句组
C、函数是一段具有特定功能的语句组
D、每次使用函数需要提供相同的参数作为输入
5、表达式2*3*4//8的计算结果是(A)
A、3 B、4 C、 5 D、6
6、以下不是Python语言特点的是(C)
A、黏性扩展:Python语言能够集成C、C++等语言编 写的代码
B、强制可读:Python语言通过强制缩进来体现语句间的逻辑关系
C、变量声明:Python语言具有使用变量需要先定义后使用的特点
Python的特点包括黏性扩展、强制可读、平台无关,但不包括变量声明需要先定义后使用。
D、平台无关:Python程序可以在任何安装了解释器的操作系统环境中执行
7、 IDLE环境的退出命令是(B)
A、 esc() B、 exit() C、 close() D、回车键
8以下不符合变量命名规则的是(D)
A、 keyword33_ B、 keyword_33 C、 _33keyword D、 33 _keyword
9 以下不是保留字的是(B)
A、 for B、 goto C、 while D、 continue
10注释使用的符号是(B)
A、 ! B、 # C I D、/* */
11、以下叙述正确的是(B)
在Python中,变量可以随时命名、随时赋值、随时使用。
- 随时声明、随时使用、随时释放
- 随时命名、随时赋值、随时使用
- 随时命名、随时赋值、随时变换类型
- 随时声明、随时赋值、随时变换类型
12、Python提供了三种基本的数字类型(A)
- 整数类型、浮点数类型、复数类型
- 整数类型、二进制类型、复数类型
- 整数类型、二进制类型、浮点数类型
D、整数类型、二进制类型、浮点数类型(与C选项重 复)
13、以下关于二进制整数的定义,正确的是(B)
- 0b1708
- 0B1001
- 0b1019
- ObC3F
14、以下代码的输出结果是(C)
lst= list(range(6))
print(3 in lst)
A、0
B、-1
C、True
D、 False
列表包含3,所以3 in lst返回True。
15、以下叙述错误的是(C)
- x/y表示x与y之商
- x%y表示x与y之商的余数,也称为模运算
- f为表示x的y次幕,其中y必须是整数
- x//y表示x与y之整数商,即不大于x与y之商的最大 整数
16、以下叙述错误的是(B)
- if语句中语句块执行与否依赖千条件判断
- 二分支结构有一种紧凑形式,使用保留字if和Delif 实现
二分支结构的紧凑形式使用保留字if和else实现,而不是if和Delif。
- 多分支结构用于设置多个判断条件以及对应的多条执行路径
- if语句中条件部分可以使用任何能够产生True和False的语句和函数
17、以下代码的执行结果是(D) 即复数的实部。
print(1.23e-4+5.67e+8j.real)
A、1.23
B、 1.23e4
C、 5.67e+8
D、0.000123
- 以下代码的执行结果是(C) print(abs(-3+4j))
abs函数计算的是复数的模,即sqrt((-3)^2 + 4^2) = sqrt(9 + 16) = 5。
- 3.0
- 4.0
- 5.0
- 报错
填空题
1.布尔类型的值包括__True 和 False__ 。
2.在python中 None 表示空类型。
3.在循环体中使用______break______语句可以跳出循环体。
4.查看变量内存地址的Python内置函数是__id()__。
5.列表、元组、字符串是Python的__有序____(有序?无序)序列。
6.表达式[1, 2, 3]*3的执行结果为_____[1, 2, 3, 1, 2, 3, 1, 2, 3]___。
7.表达式“[3] in [1, 2, 3, 4]”的值为_False_,表达式“3 in [1, 2, 3, 4]”的值为True 。
8. Python内置函数____len()_____可以返回列表、元组、字典、集合、字符串以及range对象中元素个数,____max()________用来返回序列中的最大元素。
9.Python语句''.join(list('hello world!'))执行的结果是_hello world!_。
10.Python语句list(range(1,10,3))执行结果为___[1, 4, 7]____,表达式 list(range(5)) 的值为____[0, 1, 2, 3, 4]_____。
11.已知x=3和y=5,执行语句 x, y = y, x 后,x的值是___ 5 _
22.如果想测试变量的类型,可以使用___type()和isinstance()函数____来实现。
13.假设列表对象aList的值为[3, 4, 5, 6, 7, 9, 11, 13, 15, 17],那么切片aList[3:7]得到的值是____[6, 7, 9, 11]___
14.Python中定义函数的关键字是_______def__________。
15.列表、元组、字符串是Python的____有序___(有序/无序)序列。
16.表达式 3 ** 2 的值为____9____,表达式 3 * 2的值为_____6_____。
17.Python内置函数____sum()_____用来返回数值型序列中所有元素之和,____min()____用来返回序列中的最小元素。
18. 已知 x = [1, 2, 3, 2, 3],执行语句 x.pop() 之后,x的值为___[1, 2, 3, 2]_。
19.已知 x = {'a':'b', 'c':'d'},那么表达式 'b' in x 的值为___False____,表达式 'b' in x.values() 的值为______True________。
编程题
1.输入数字金字塔。
1
212
32123
4321234
543212345
65432123456
7654321234567
876543212345678
98765432123456789
2. (1)编写1个Light类,该类是对灯的描述,该类拥有:
1) 2个实例属性
watts(整型);#用于存放灯的瓦数;
indicator(布尔类型);#用于存放灯的开或关的状态
2)构造方法
__init__(self,watts,indicator) #用于创建具有watts瓦,开关状态为indicator的对象
3)3个方法
def switchOn() #开灯,即将灯的状态置为开
def switchOff() #关灯
def printInfo() #输出灯的瓦数信息和开关状态
(2)编写1个TubeLight类,该类是对管状灯的描述,它继承于Light类。还拥有:
1)2个实例属性
tubeLength(整型) #用于存放灯管的长度
color(私有,String类型) #用于存放灯光的颜色
2) 构造器方法
__init__(self,watts,indicator,tubeLength, color) #用于创建具有watts瓦,开关状态为indicator,灯管长度为tugeLength,颜色为color的对象(可手动调用父类构造方法)
3)方法
def printInfo() #打印输出灯的相关信息,包括瓦数、开关信息、长度以及颜色(可手动调用父类该方法)
(3)请写一个测试程序,要求:
1)创建一个管状灯的实例对象,该灯瓦数为:32;长度为50;白色灯光,状态为开。
2)打印输出该灯的相关信息。
3) 测试开灯、关灯功能,然后查看灯的状态。
3、设计一个矩形类Rectangle,要求:
- 定义矩形的长和宽属性
- 定义构造方法
- 定义求解矩形面积的方法
- 定义求解矩形周长的方法
- 在主控程序中实例化两个不同的矩形对象,并输出各自相应的长、宽、面积和周长。
4、创建一个点类Point,要求:
- 定义构造方法,实现对两个点坐标属性x和y进行赋值;
- 定义返回该点基本信息的方法,如:”点的坐标(2,3)”
- 定义计算两点坐标的方法。如点p1(x1,y1),p2(x2,y2),计算公式为:Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
- 在主程序中,定义两点p1(3,5),p2(8,9),输出两点坐标,并计算这两点的距离。
5.利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
6、从键盘输入任意10个整数,用冒泡或自己熟悉的排序算法排序10个数并输出。
法一: 冒泡排序
法二: 简单排序
7、编程实现学生信息管理。学生类对象拥有姓名和学号基本属性信息、还有math和python两门课程信息。
- 要求能实现一个班至少5个学生基本情况的展示(还包括成绩总分);
- 能实现按学号或按姓名查询学生信息;
- 能添加学生对象;
- 能根据学号删除学生对象;
- 能根据学号修改学生对象的相关数据信息;
效果先放:
源代码:
作者:kzknow