Python期末测试及解析一

一、选择题(40分,每题2分)

  1. Python面向对象的特征不包括( )
    A. 封装
    B. 继承
    C. 多态
    D. 定义

【答案】D
【解析】面向对象的特征是:封装、继承和多态。

  1. Python源代码程序编译后的文件扩展名为( )。
    A. .py
    B. .c
    C. .java
    D. .php

【答案】A
【解析】A 正确 Python源代码文件扩展名为.py。
B 错误 C语言源代码文件扩展名为.c。
C 错误 Java源代码文件扩展名是.java。
D 错误 PHP源代码文件扩展名是.php。

  1. Python单行注释使用的是那个符号( )。
    A. ( )
    B. “”
    C. ,
    D. #

【答案】D
【解析】A 错误 Python中内置函数使用括号( )表示。
B 错误 Python字符串需要用单引号或双引号括起来。
C 错误 Python可以接受多个字符串的输入和输出,中间用”,”隔开即可。
D 正确 Python中的注释起提示作用,单行注释以#开头。

  1. 关于字符串下列说法错误的是( )。
    A. 字符应该视为长度为1的字符串
    B. 字符串以\0标志字符串的结束
    C. 既可以用单引号,也可以用双引号创建字符串
    D. 在三引号字符串中可以包含换行回车等特殊字符

【答案】B
【解析】Python字符串其实是一个固定长度的字符数组,所以不用结束标志。

  1. Python语言语句块的标记是( )。
    A. 分号
    B. 逗号
    C. 缩进
    D. /
    【答案】C
    【解析】Python在程序编写的过程中严格遵守缩进原则。
  2. 下面哪个不是Python合法的变量名( )。
    A. int_32
    B. 40YL
    C. price
    D. name

【答案】B
【解析】变量名只能是字母、数字或下划线的任意组合,但是变量名首字符不能是数字。

  1. 关于流程图的常用标识,以下选项中描述错误的是( )。
    A. 平行四边形表示程序的开始或结束
    B. 方向箭头表示流程线
    C. 矩形表示计算或处理
    D. 菱形表示判断

【答案】A
【解析】A 错误 圆角矩形表示程序的开始或结束。

  1. 下列哪个不是Python的数字类型?( )
    A. 整数
    B. 浮点
    C. 列表
    D. 复数

【答案】C
【解析】Python 的数字类型分为整型、长整型、浮点型和复数。

  1. a 与 b 定义如下,下列哪个表达式的结果是正确的(True)?( )
    a = '234'
    b = '234'
    
    A. a != b
    B. a is b
    C. a == 234
    D. a + b = 468

【答案】B
【解析】A 错误 a、b两个标识符是引用自一个对象,而!=是不等判断关系运算符。
B 正确 两个标识符引用自一个对象,用is进行判断。
C 错误 a = ‘123’表示a是字符串’123’,而不是数值123,两者不能划等号。
D 错误 题干中a 和b均表示字符串’123’,不能进行算术运算。

  1. 以下流程图描述的是哪种结构( )。
    在这里插入图片描述
    A. 顺序结构
    B. 分支结构
    C. 遍历循环
    D. 条件循环

【答案】D
【解析】以上流程图表述的含义是:如果<条件>表达式的值为真(True),则执行语句块1,再进行<条件>的判定,如果表达式的值为真(True),则继续执行语句块1(循环体);如果<条件>表达式的值为假,则退出循环体,执行语句块2。这是典型的条件循环。

  1. Python的算术运算符不包括( )。
    A. *
    B. //
    C. %
    D. \r

【答案】D
【解析】ABC都是Python中常用的算术运算符。D是转义字符,表示回车。

  1. Python中表示跳出循环的语句是( )。
    A. break
    B. pass
    C. ESC
    D. close

【答案】A
【解析】A 正确 break语句是用来跳出整个循环的。
B 正确 pass语句是一个空操作,一般用做占位语句。
C 错误 ESC在Python中会被标识为一个变量名。
D 正确 close在Python中会被标识为一个变量名。

  1. 在 Python 中( )表示空类型。
    A. 0
    B. None
    C. True
    D. False

【答案】B
【解析】Python中None表示空类型。表示该值是一个空对象,空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。可以将None赋值给任何变量,也可以给None值变量赋值。

  1. 下列属于列表的是( )。
    A. str="Python"
    B. list = ['physics', 'chemistry', 'frog']
    C. tup= ('spam', 'Spam', 'SPAM!')
    D. dict = {'a': 1, 'b': 2, 'b': '3'}

【答案】B
【解析】A 错误 字符串
B 正确 列表
C 错误 元组
D 错误 字典

  1. 使用下面哪个关键字来创建自定义函数( )
    A. function
    B. func
    C. def
    D. procedure

【答案】C
【解析】定义函数,也就是创建一个函数,可以理解为创建一个具有某些用途的工具。定义函数需要用 def 关键字实现。

  1. 执行下列程序后输出的结果为( )。
    a,b=3,3
    a**=b
    print(a) 
    
    A. 6
    B. 9
    C. 18
    D. 27

【答案】D
【解析】**=为幂赋值运算符,a**=b等效于 a = a ∗ ∗ b = 3 3 = 27 a=a**b=3^3=27 a=ab=33=27

  1. 设有列表a=[4,5,6,7,8,9],执行以下切片运算a[:3],得到的结果是( )。
    A. 6
    B. [4,5,6,7]
    C. [4,5,6]
    D. 7

【答案】C
【解析】切片操作符[start:stop]/[start:stop:step]有三个参数时表示从start起点位置(默认为0,包含该元素)到stop终点位置(不包含该元素)每隔step(步长,默认为1)个位置读取元素。因此a[:3]表示从左到右读取下标0到下标3(不包含该元素)的元素,结果为[4,5,6]。

  1. 清空字典dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}所有条目的指令是( )。
    A. dict.clear()
    B. del dict
    C. del dict[‘Name’]
    D. del dict[0:2]

【答案】A
【解析】使用del命令能删单一的元素也能删除整个字典,但是字典删除后会引发一个异常,因为用del后字典不再存在。清空字典则只需一项操作,dict.clear()。

  1. 下列程序执行后的结果是( )。
    def func(l):
        if len(l) > 2:
            l = l[0:2]
            return l
        else:
            return l
    print(func([1, 2, 3, 4]))
    
    A. [1, 2, 3, 4]
    B. [1, 2]
    C. [3, 4]
    D. [1, 3]

【答案】B
【解析】函数func()的功能是:如果l的长度大于2,则返回列表中下标为0到下标2(不包含该元素)的元素;否则返回整个l。本题中[1, 2, 3, 4]的长度等于4,满足大于2这一条件,所以最后的结果为:[1, 2]。

  1. 下列程序执行后的结果是( )。
    def showplus(x): 
        return x + 1 
        return x + 2
    
    print(showplus(5))
    
    A. 6
    B. 7
    C. 5
    D. None

【答案】A
【解析】如果一个函数可以存在多条 return 语句,当出现第一个return后,函数会立刻返回,结束调用,return 之后的其它语句都不会被执行了。所以本程序中将x=5代入函数showplus(x)中进行计算,其返回值(x+1)为程序的最终结果。

二、判断题(10分,每题1分)

  1. Python 是一种跨平台、开源、免费的高级动态编程语言。( )

【答案】√

  1. 在 Python 中可以使用 if 作为变量名。( )

【答案】×
【解析】Python关键字不可以作为变量名。

  1. Python 使用缩进来体现代码之间的逻辑关系。( )

【答案】√

  1. Python 代码的注释只有一种方式,那就是使用#符号。( )

【答案】×
【解析】Python代码的注释分为单行注释和多行注释,其中单行注释使用#符号。

  1. 对于带有 else 子句的循环语句,如果是因为循环条件表达式不成立而自然结束循环,则执行 else 子句中的代码。( )

【答案】√

  1. 函数中的 return 语句一定能够得到执行。 ( )

【答案】×
【解析】如果一个函数可以存在多条 return 语句,但只有一条可以被执行。当出现第一个return后,函数会立刻返回,结束调用,return 之后的其它语句都不会被执行了。

  1. 在函数内部没有办法定义全局变量。( )

【答案】×
【解析】Python里只有2种作用域:全局作用域和局部作用域。全局作用域是指当前代码所在模块的作用域,局部作用域是指当前函数或方法所在的作用域。局部作用域里的代码可以读外部作用域(包括全局作用域)里的变量,但不能更改它。如果想更改它,则需要使用global关键字。

  1. 可以使用insert()添加一个新的元素到列表的尾部。( )

【答案】×
【解析】insert()可以将指定对象插入列表的指定位置。要添加一个新的元素到列表的尾部需使用append()。

  1. 转义字符’\n’的含义是回车换行。( )

【答案】√

  1. 顺序结构每条语句可以执行多次。( )

【答案】×
【解析】顺序结构是程序流程控制中最简单、最常用的一种流程结构。该结构的特点是按照语句出现的先后顺序,自上而下依次执行,每条语句只执行一次。

三、填空题(20分,每空1分)

  1. 列表、元组、字符串是 Python 的____________(有序/无序)序列。

【答案】有序
【解析】Python列表、元组、字符串都属于有序序列。

  1. 查看变量类型的 Python 内置函数是____________。

【答案】type()
【解析】每个对象的头部信息中都有一个类型标识符来标识这个对象的类型(比如:int、str、dict等)。type() 函数返回对象的类型。

  1. Python 运算符中用来计算整商的是____________。

【答案】//
【解析】//表示取整除,即两个数相除求商的整数部分。

  1. 表达式[1, 2, 3]*3 的执行结果为____________。

【答案】[1, 2, 3, 1, 2, 3, 1, 2, 3]
【解析】Python 中,使用数字 n 乘以一个序列会生成新的序列,其内容为原来序列被重复 n 次的结果。

  1. 已知 x = 3,那么执行语句x *= 6 之后,x 的值为____________。

【答案】18
【解析】x*= y相当于x=x* y,所以最后x=3* 6=18。

  1. 任意长度的 Python 列表、元组和字符串中最后一个元素的下标为____________。

【答案】-1
【解析】Python支持索引值是负数,此类索引是从右向左计数,换句话说,从最后一个元素开始计数,从索引值-1开始。最后一个元素下标为-1,倒数第二个元素下标为-2,以此类推。

  1. 有列表d=[1,3,5],执行以下操作d.append(7)后,d的内容为____________。

【答案】[1, 3, 5, 7]
【解析】列表需要动态添加元素时,可以使用列表的append()函数添加一个新的元素到列表的尾部。因此d.append(7)表示在原列表d=[1,3,5]尾部增加元素7,新列表为[1, 3, 5, 7]。

  1. 列表中多个元素之间使用____________分隔开。

【答案】逗号
【解析】列表是Python中内置可变序列,是若干元素的有序集合。列表中的每一个数据称为“元素”,列表的所有元素放在一对中括号[]中,并使用逗号,分隔开。

  1. 已知 x = {'a':'b', 'c':'d'},那么表达式 'a' in x 的值为____________。

【答案】True
【解析】字典的访问只需把相应的键放入方括弧即可。

  1. 在循环语句中,____________语句的作用是提前结束本层循环。

【答案】break
【解析】break用来跳出最内层循环,脱离循环后程序从循环代码后继续执行。

  1. 表达式 'a' + 'b' 的值为____________。

【答案】‘ab’
【解析】对字符串进行加法运算表示将两个字符串进行连接。

  1. 表达式 'Hello world!'[-4] 的值为____________。

【答案】‘r’
【解析】本题是对‘Hello world!’这个字符串进行索引,如果索引值是负数,则表示从最后一个元素开始计数,从索引值-1开始。最后一个元素下标为-1,倒数第二个元素下标为-2,以此类推。因此索引值为-4的元素是’r’。

  1. Python 中定义函数的关键字是____________。

【答案】def
【解析】定义函数,也就是创建一个函数,可以理解为创建一个具有某些用途的工具。定义函数需要用 def 关键字实现。

  1. 表达式 eval('3+5') 的值为____________。

【答案】8
【解析】eval()函数表示将字符串转换为数值进行计算并返回计算结果。

  1. 在Python中常用的输入输出语句分别是____________和____________。

【答案】input( ) print( )
【解析】在Python中输入信息可以采用内置的input()函数来实现,输出信息则使用内置的print()函数。

  1. 表达式 {1, 2, 3} | {2, 3, 4} 的值为____________。

【答案】{1, 2, 3, 4}
【解析】|是逻辑或运算符,其值只要需要满足任意一个即可,故结果为{1, 2, 3, 4}。

  1. 如果函数中没有 return 语句,那么该函数的返回值为___________。

【答案】None
【解析】一个函数可以存在多条 return 语句,但只有一条可以被执行;如果没有一条 reutrn 语句被执行,同样会隐式调用 return None 作为返回值。

  1. 语句 x, y, z = [1, 2, 3] 执行后,变量 y 的值为____________。

【答案】2
【解析】多元赋值:多个变量,多个值,逐一对应。执行后x = 1,y = 2,z = 3。

  1. 表达式 3 not in [1, 2, 3]的值为____________。

【答案】False
【解析】Python中可以使用in关键字检查某元素是否为序列的成员,用not in关键字来检查某个元素是否不包含在指定的序列中。

四、程序编写题(30分,每题10分)

  1. 编写程序,实现以下打印效果。
    在这里插入图片描述

【答案】

for i in range(1, 7):
    print('  ' * (6 - i), end = ' ')
    for j in range(i, 0, -1):
        print(j, end = " ")
    print()
  1. 编写程序,实现如下表所示的分段函数计算。
x x x y y y
x < 0 x<0 x<0 0 0 0
0 ≤ x < 5 0\le x<5 0x<5 x x x
5 ≤ x < 10 5\le x<10 5x<10 3 x − 5 3x-5 3x5
10 ≤ x < 20 10\le x<20 10x<20 0.5 x − 2 0.5x-2 0.5x2
20 ≤ x 20\le x 20x 0 0 0

【答案】

x = input("请输入x的值:")
x = eval(x)
if x < 0 or x >= 20:
   print(0)
elif x < 5:
   print(x)
elif x < 10:
   print(3 * x - 5)
elif x < 20:
   print(0.5 * x - 2)
  1. 编写函数,判断一个数字是否为素数,是则返回Yes,否则返回No。再编写测试函数。

【答案】

import math
def IsPrime(x):
   n=int(math.sqrt(x)+1)
   for i in range(2,n):
       if x%i==0:
           return 'No'
   else:
   	return 'Yes'

print(IsPrime(77))
  • 32
    点赞
  • 172
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

少儿编程乔老师

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值