网站首页 > 技术文章 正文
流程控制(单选题)
说明:
- 本文中的题目,全都来自全国计算机等级考试二级Python语言程序设计考试的真题,且都为易错题。题干最后如有编号,则是 python123 平台上的题号,以方便学生查找和索引。
- 在满分为 100 分的二级Python考试中,单选题总共占 40 分。本文为Python语言中流程控制相关的解析,这部分一般占 3 - 5分 左右。
- 面向对象: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)。
关于三元运算符的那些秘密,详情请查看这篇文章:https://www.toutiao.com/article/7419993088547897893/
关于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 搭配起来使用,这样才有意义。
- 上一篇: 自学java练习项目记录笔记
- 下一篇: Linux系统Shell编程之循环控制语句
猜你喜欢
- 2025-04-24 JavaScript中的运算符与语句:深入理解编程的基础构建块
- 2025-04-24 Python代码分享:猜数字游戏
- 2025-04-24 循环while
- 2025-04-24 简单学Python——关键字6——break和continue
- 2025-04-24 Linux系统Shell编程之循环控制语句
- 2025-04-24 自学java练习项目记录笔记
- 2025-04-24 Python入门知识点总结,Python三大数据类型、数据结构、控制流
- 2025-04-24 Python的循环结构,也简单
- 2025-04-24 收藏 | Python小技巧之while循环
- 2025-04-24 PHP语言基础教程第三期:流程控制语句
- 04-24架构篇-一分钟掌握性能优化小技巧
- 04-24Nginx从概念到实战:原理、配置与踩坑全解析
- 04-24前端面试题-Vue 项目中,你做过哪些性能优化?
- 04-24从零开始学习C语言丨参数的传递方式
- 04-24C语言 | 成绩的等级判别
- 04-24C语言随机数生成
- 04-24C语言-平方倒数和
- 04-24C语言100题集合019-实现输入一个星期中对应的第几天
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)