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中,变量可以随时命名、随时赋值、随时使用。

  1. 随时声明、随时使用、随时释放
  2. 随时命名、随时赋值、随时使用
  3.  随时命名、随时赋值、随时变换类型
  4. 随时声明、随时赋值、随时变换类型

12、Python提供了三种基本的数字类型(A)

  1. 整数类型、浮点数类型、复数类型
  2. 整数类型、二进制类型、复数类型
  3. 整数类型、二进制类型、浮点数类型

D、整数类型、二进制类型、浮点数类型(与C选项重 复)

13、以下关于二进制整数的定义,正确的是(B)

  1. 0b1708  
  2. 0B1001
  3. 0b1019
  4. 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)

  1. x/y表示x与y之商
  2. x%y表示x与y之商的余数,也称为模运算
  3.  f为表示x的y次幕,其中y必须是整数
  4.  x//y表示x与y之整数商,即不大于x与y之商的最大 整数

16、以下叙述错误的是(B)

  1. if语句中语句块执行与否依赖千条件判断
  2. 二分支结构有一种紧凑形式,使用保留字if和Delif 实现

二分支结构的紧凑形式使用保留字if和else实现,而不是if和Delif。

  1. 多分支结构用于设置多个判断条件以及对应的多条执行路径
  2.  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

  1. 以下代码的执行结果是(C) print(abs(-3+4j))

abs函数计算的是复数的模,即sqrt((-3)^2 + 4^2) = sqrt(9 + 16) = 5。

  1. 3.0
  2.  4.0
  3. 5.0
  4. 报错

填空题

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,要求:

  1. 定义矩形的长和宽属性
  2. 定义构造方法
  3. 定义求解矩形面积的方法
  4. 定义求解矩形周长的方法
  5. 在主控程序中实例化两个不同的矩形对象,并输出各自相应的长、宽、面积和周长。

4、创建一个点类Point,要求:

  1. 定义构造方法,实现对两个点坐标属性x和y进行赋值;
  2. 定义返回该点基本信息的方法,如:”点的坐标(2,3)”
  3. 定义计算两点坐标的方法。如点p1(x1,y1),p2(x2,y2),计算公式为:Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
  4. 在主程序中,定义两点p1(3,5),p2(8,9),输出两点坐标,并计算这两点的距离。

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

6、从键盘输入任意10个整数,用冒泡或自己熟悉的排序算法排序10个数并输出。

法一: 冒泡排序

法二: 简单排序

7、编程实现学生信息管理。学生类对象拥有姓名和学号基本属性信息、还有math和python两门课程信息。

  1. 要求能实现一个班至少5个学生基本情况的展示(还包括成绩总分);
  2. 能实现按学号或按姓名查询学生信息;
  3. 能添加学生对象;
  4. 能根据学号删除学生对象;
  5. 能根据学号修改学生对象的相关数据信息;

效果先放:

源代码:

作者:kzknow

物联沃分享整理
物联沃-IOTWORD物联网 » Python大学期末试卷练习题

发表回复