结束了漫长而炎热的夏天,终于迎来了凉爽的、甚至有些寒冷的秋天。
如果你错过了和煦的春光,那么就不要再错过惬意的秋风了🙂,一起来学习下今天的知识吧!
全国计算机等级考试二级Python易错真题详解-流程控制-单选题
流程控制(单选题)
说明:
本文中的题目,全都来自全国计算机等级考试二级Python语言程序设计考试的真题,且都为易错题。题干最后如有编号,则是 python123 平台上的题号,以方便学生查找和索引。 在满分为 100 分的二级Python考试中,单选题总共占 40 分。本文为Python语言中流程控制相关的解析,这部分一般占 3 - 5分 左右。 面向对象:Python 学习爱好者、Python 二级备考的大学生
之前的相关文章在这儿:
Python二级考试合集 全国计算机等级考试二级Python易错真题详解-Python语言基础 Python中为什么round(1.5)和round(2.5)都等于2?round()函数详解 全国计算机等级考试二级Python易错真题详解-数值类型 Python中的三元运算符是啥?在哪些场景可用?又有啥要注意的?
以下关于控制结构的描述,错误的是( )。(#168681)
A. Python 的单分支结构里,包含 else 语句
B. Python 的多分支结构,指的是既包含 else 语句块,也包含 elif 语句块
C. 使用 range(1,10)函数,指定语句块的循环次数是9次
D. Python 的 for 循环结构是对遍历结构各元素进行处理
参考答案:A
解析:
Python 的单分支结构里,包含 else 语句
错误。因为 Python 的单分支结构使用 if
保留字对条件进行判断,没有用到 else
语句,不满足 if
条件的话就直接跳过 if
中的语句,然后继续执行后面的语句。如下例就是一个单分支结构:
if a > 0:
print('a是一个正数')
二分支结构使用 if-else
保留字对条件进行判断;
多分支结构使用 if-elif-else
保留字对多个相关条件进行判断。
关于Python分支结构的描述,错误的选项是( )。(#169696)
A. 多分支结构可以用switch语句表示
B. 二分支结构可以用if else语句表示
C. 多分支结构可以用if elif else语句表示
D. 单分支结构可以用if语句表示
参考答案:A
解析:
选项 多分支结构可以用switch语句表示
错误。因为在 Python 的 3.10 版本之前,没有类似 C/C++/Java 等语言中的 switch-case 语法结构。可以利用 if-elif-else
等多分支结构,或者 字典+函数
等手段来代替。
(二级超纲内容)感兴趣的同学,也可看下 Python 3.10 中引入的新的 match-case
语法结构,类似 switch-case,但却更加强大,具体用法和案例可以看官方文档:https://peps.python.org/pep-0636/。
关于Python二分支精简结构的表示,正确的选项是( )。(#168865)
A. 条件 if 表达式1 else 表达式2
B. 表达式1 if 表达式2 else 条件
C. 表达式1 if 条件 else 表达式2
D. 表达式1 if 条件:表达式2 else
参考答案:C
解析:
在Python语言中,二分支结构由 if
和 else
组成,其精简模式也是采用 if
和 else
两个保留字组成,是目前Python中唯一的一个三元运算符(ternary operator)。
关于三元运算符的那些秘密,详情请查看之前的文章
关于Python中for循环的描述,正确的选项是( )。(#168879)
A. for循环内语句块的执行次数一定大于1
B. 能用for循环实现字符串里每个字符的遍历
C. for循环能够实现列表的遍历,不能实现字典的遍历
D. for循环不能与break和continue保留字联合使用
参考答案:B
解析:
选项 for循环内语句块的执行次数一定大于1
错误。因为当 for
循环遍历的循环对象(可迭代对象)中没有元素时,此时for循环内部语句块不执行,如下range(-1, -10)等价于range(-1,-10,1),步长为1取不到值,除非最后一个参数(步长)改成-1才行:
for i in range(-1,-10):
print(i)
选项 能用for循环实现字符串里每个字符的遍历
正确。因为字符串也是可迭代对象, for
循环可以对字符串进行遍历,字符串中有多少个字符,循环就能执行多少轮。
选项 for循环能够实现列表的遍历,不能实现字典的遍历
错误。因为 for
循环也能对字典对象进行遍历,只不过在遍历时,遍历的是字典的键(key),而不能直接遍历字典的值(Value)出来。如果想要遍历值,可以调用字典的 values()
方法,先取出所有的值,然后再对这些值进行遍历。
选项 for循环不能与break和continue保留字联合使用
错误。因为 for
循环可以与 break
和 continue
保留字使用,用于对循环的执行、退出等进行控制。
以下关于控制结构的描述,错误的是( )。(#168636)
A. break的功能是跳出当前循环控制块
B. 在for结构中使用continue,会开始遍历下一个元素
C. Python的多分支结构里,可以包含多个elif语句
D. break也可用于跳出try-except控制块
参考答案:D
解析:
break也可用于跳出try-except控制块
是错的,因为 break
只能 用于跳出(终止)最近的 for
或者 while
循环代码块,而不能跳出 try-except
异常控制代码块。
关于Python的循环控制,以下描述错误的是( )。(#169650)
A. break和continue可以用于遍历循环和无限循环
B. else也可以与循环搭配使用
C. break将退出所有层次的循环
D. continue将结束当次循环
参考答案:C
解析:
选项 break和continue可以用于遍历循环和无限循环
正确。break
和 continue
可以用于 for
循环(遍历) 和 while
循环(无限)。
选项 continue将结束当次循环
正确。当 for
或 while
循环中没有遇到 break
而正常终止后(遇到 continue
也算正常终止),如果存在 else
子句的话,会再运行 else
子句作为“奖励”。
选项 break将退出所有层次的循环
是 错误 的,其它都对。因为 break
只能退出最近层次的循环,而不能退出所有层次的循环;要想从多层嵌套循环中退出,可以使用其它技巧,如通过标志变量、异常以及函数的return语句等方式。
选项 continue将结束当次循环
是对的,continue
用来结束本轮循环,本轮循环中 continue
后面的其它语句不再执行,然后再重头开始进行下一轮循环。
关于异常处理的描述,错误的选项是( )。(#169699)
A except后面可以增加异常类型,进而区分不同异常进行处理
B try、except、else、finally都可以用于异常处理
C. 异常处理中try是必须的,except并不必须
D try和except都是异常处理保留字
参考答案:C
解析:
这题其实不够严谨。Python语言中通常使用保留字 try 和 except 进行异常处理,这两个关键字一般同时出现,但 语法上 也可以 只有 try-finally
出现, except 语法上可以没有 ,类似如下代码是正确的:
try:
print(a)
finally:
print('不管有无异常,都会输出这句。')
但此时,因为变量 a 之前没有被定义、因此第二行输出 a 时,会产生 NameError
,但因为没有 except
子句,发生异常后程序并没有及时捕获并处理,所以还是建议大家把 try-except
搭配起来使用,这样才有意义。