内容正文:
《Python 程序编写入门》高等教育出版社
第3单元 程序中的逻辑关系
时间:90分钟 总分:100分
班级___________ 姓名___________ 学号___________ 成绩_____________ 一、选择题(本大题共20小题,每小题2分,共40分)
1.执行print(random.randrange(2, 12, 3)),不可能得到的结果是( )。
A. 3
B. 5
C. 8
D. 11
【答案】A
【解析】 randrange(2, 12, 3)生成从2开始,步长3,到12(不包含)的序列,即2、5、8、11 ,所以选A 。
2.以下关于程序流程图中符号的说法,错误的是( )。
A. 起止框表示程序逻辑的开始或结束
B. 判断框表示一个判断条件
C. 处理框表示一组处理过程
D. 输入/输出框只能用于输入操作
【答案】D
【解析】输入/输出框可用于数据输入或结果输出,并非只能输入,所以选D。
3.程序的三种基本结构不包括( )。
A. 顺序结构
B. 异常处理结构
C. 分支结构
D. 循环结构
【答案】B
【解析】程序基本结构是顺序、分支、循环,异常处理结构不是基本结构, 所以选B。
4.for 或 while 与 else 搭配使用时,else 子句的执行情况为( )。
A.总会执行
B.永不执行
C.仅循环正常结束时执行(未被 break 终止 )
D.仅循环非正常结束(如 break 结束 )时执行
【答案】C
【解析】for 或 while 循环的 else 子句,在循环正常结束(没遇到 break )时执行,所以选C。
5.import random;s = [1,2,3,4,5];print(random.sample(s,2)) 的运行结果不可能为( )。
A. [1,3]
B. [1,5]
C. [2,6]
D. [2,5]
【答案】C
【解析】random.sample(s,2) 是从列表 s 中随机选取 2 个不重复元素,s 中没有 6 ,所以不可能出现 [2,6] ,所以选C。
6.执行 for i in range(1, 5): print(i) ,输出的结果是( )。
A. 1 2 3 4 5
B. 1 2 3 4
C. 0 1 2 3 4
D. 0 1 2 3
【答案】B
【解析】range(1, 5) 生成从 1 开始(包含 1 )到 5 结束(不包含 5 )的整数序列,即 1、2、3、4 ,循环输出这些数字,所以选B。
7.以下代码 for i in range(3): for j in range(2): print(i, j) ,内层循环执行的次数是( )。
A. 3
B. 5
C. 6
D. 2
【答案】C
【解析】外层 range(3) 循环 3 次(i = 0,1,2 ),内层 range(2) 循环 2 次(j = 0,1 ),内层总执行次数 3 * 2 = 6 次,所以选C。
8.以下( )是为保持程序结构完整性,不做任何操作的关键字。
A.continue
B.break
C.pass
D.while
【答案】C
【解析】pass在语法需要语句但逻辑无需操作时,占位保持结构完整,所以选 C 。
9.关于for i in range(5): ,外层循环执行次数是( )。
A. 3
B. 4
C. 5
D. 6
【答案】C
【解析】range(5)生成0,1,2,3,4 ,循环5次,所以选 C 。
10.函数 len((1, 2, 3, 4)) 的返回值是( )。
A. 3
B. 4
C. 5
D. 报错
【答案】B
【解析】len() 函数用于获取可迭代对象(如元组 )的元素个数,元组(1, 2, 3, 4) 有4 个元素,所以返回4 ,选 B 。
11.执行for i in range(2): for j in range(3): print(i,j) ,以下说法正确的是( )。
A. 先执行外层循环全部,再执行内层
B. 内外层循环交替执行,外层一次、内层完整一次
C. 内层循环执行完,外层才执行
D. 以上都不对
【答案】B
【解析】循环嵌套执行逻辑是外层循环一次,内层循环完整执行一次 ,所以选 B。
12.执行n = 0; while n < 5: n += 1; print(n) ,输出结果是( )。
A. 0 1 2 3 4
B. 1 2 3 4 5
C. 5
D. 无限循环
【答案】B
【解析】n从0开始,每次加1,当n=5时退出循环,循环内print(n)依次输出1 - 5 ,所以选B。
13. 以下代码执行结果是( )。
s = 0
for i in range(1, 5):
if i % 2 == 0:
s += i
print(s)
A. 4
B. 6
C. 2
D. 10
【答案】B
【解析】i取1 - 4,偶数是2、4,s = 2 + 4 = 6 ,所以选B。
14.能生成[1, 3, 5, 7]列表的代码是( )。
A. list(range(1, 8, 2))
B. list(range(1, 7, 2))
C. list(range(0, 7, 2))
D. list(range(0, 8, 2))
【答案】A
【解析】range(1, 8, 2)生成1、3、5、7,转列表后符合,所以选 A 。
15.执行for c in "Python": if c == "t": continue; print(c, end=""),输出是( )。
A. Pyhon
B. Pthon
C. Python
D. 出错
【答案】A
【解析】遍历字符串,遇't'跳过,输出Pyhon,所以选A。
16.流程图中,判断条件的图形是( )。
A. 矩形框
B. 菱形框
C. 圆形框
D. 平行四边形框
【答案】B
【解析】流程图里菱形框用于判断条件,矩形框表处理操作,平行四边形框表输入输出。所以选 B 。
17.以下能正确获取用户输入整数的代码是( )。
A. num = input("请输入整数:")
B. num = int(input("请输入整数:"))
C. num = eval(input("请输入整数:"))(输入非整数会报错 )
D. num = float(input("请输入整数:"))
【答案】B
【解析】input获取字符串,int转成整数;eval有安全风险且输入非整数格式内容会报错;float转成浮点数 ,选 B。
18.关于字符串切片,s = "Python"; print(s[-2:])的输出是( )。
A. on
B. th
C. Py
D.hon
【答案】A
【解析】字符串切片[-2:]表示从倒数第2个字符取到末尾,"Python"倒数第2个字符是o,所以输出on ,所以选A。
19.以下属于Python选择结构的关键字是( )。
A. loop
B. while
C. if
D. if
【答案】C
【解析】if用于选择结构;while是循环结构关键字;loop不是Python关键字;break用于跳出循环,所以选 C。
20.执行for x in [3, 5, 7]: print(x ** 2, end=" "),输出( )。
A. 3 5 7
B. 9 25 49
C. 27 125 343
D. 出错
【答案】B
【解析】遍历列表,计算元素平方,3²=9、5²=25、7²=49,输出9 25 49,所以选 B。
二、填空题(本大题共20小题,每小题2分,共40分)
1.import random; print(random.randint(1, 10)) 的运行结果范围是____ 。
【答案】1 到 10
【解析】random.randint(a, b) 生成 a 到 b 之间(包含 a 和 b )的随机整数。
2.打乱列表my_list中元素顺序的函数是____________________ 。
【答案】random.shuffle(my_list)
【解析】shuffle函数会直接修改原列表,打乱元素顺序。
3.程序的三种基本结构是顺序结构、______ 和循环结构。
【答案】分支结构
【解析】程序设计基本结构包含顺序、分支(选择 )、循环,顺序结构按顺序执行,分支结构依据条件选择执行,循环结构重复执行代码块。
4.continue关键字的作用是______ 。
【答案】跳出本次循环,继续下一次循环
【解析】跳过本次循环剩余语句,进入下一轮循环条件判断 。
5.while循环的基本结构是while 条件表达式: 缩进的代码块 ,当条件表达式为______时,循环继续执行。
【答案】True
【解析】条件为True,执行循环体代码;为False,退出循环。
6. 循环结构中,______(可以/不可以 )使用if条件语句控制流程。。
【答案】可以
【解析】常结合if进行条件判断,如break continue的条件触发。
7.while True: 后接pass语句,写法是______(合法/不合法 )。
【答案】合法
【解析】while True是无限循环,pass占位保持结构,语法合法(但无实际功能,常结合逻辑修改 )。
8.Python 中,a = [1, 2, 3]; a.pop(1); print(a) 的运行结果为____。
【答案】[1, 3]
【解析】pop(index) 方法删除并返回指定索引的元素,删除索引 1(元素 2 )后,列表变为 [1, 3] 。
9.多分支结构中,elif用于在______条件不满足时,继续判断其他条件。
【答案】if
【解析】elif是if-elif-else结构中,在if条件不满足后,依次判断的分支 。
10.执行x = 5; if x % 2 == 0: print("偶数"); else: print("奇数"),输出______。
【答案】奇数
【解析】5 % 2 = 1,条件不满足偶数,执行else输出奇数。
11.流程图里,起止框用______图形表示 。
【答案】椭圆形框
【解析】流程图基本元素,椭圆形框用于标识程序的开始和结束。
12. 在选择结构中,常见的控制语句有if、if - else和__________,用于根据不同条件执行不同的代码块。
【答案】if - elif - else
【解析】if - elif - else 可处理多个互斥条件,依次判断if和多个elif条件,当某个条件满足时执行对应代码块,都不满足则执行else中的代码。
13.顺序结构程序中,若存在语句x = 10; y = x * 2; z = y - 5;,执行完后z的值为__________。
【答案】15
【解析】依据顺序结构的执行规则,先执行x = 10,再执行y = x * 2,此时y的值为20,最后执行z = y - 5,得到z的值为15。
14.在顺序结构程序中,代码执行的顺序是__________,不包含任何条件判断或重复执行逻辑。
【答案】自上而下,依次执行
【解析】顺序结构是最基本的程序结构,程序按照语句书写的先后顺序逐条执行,没有分支和循环,类似于按步骤完成任务,例如先输入数据,再进行计算,最后输出结果。
15.循环结构中,若循环条件永远为True且没有break语句,会导致__________循环。
【答案】无限
【解析】无限循环会持续占用系统资源,需谨慎使用并确保有退出条件。
16.for循环遍历字符串"hello"时,循环变量依次取的值是__________。
【答案】'h', 'e', 'l', 'l', 'o'
【解析】字符串按字符逐个迭代,顺序与字符串顺序一致。
17.在Python中,for循环的变量在循环结束后__________(填“可以”或“不可以”)继续使用。
【答案】可以
【解析】Python的for循环变量作用域在循环外仍然有效。
18.在for循环中,如果使用break语句提前终止循环,对应的else块__________(填“会”或“不会”)执行。
【答案】不会
【解析】else块仅在循环正常结束时执行,break会跳过else。
19.循环嵌套中,外层循环执行3次,内层循环执行4次,总循环次数为__________次。
【答案】12
【解析】总次数为外层循环次数乘以内层循环次数,即3 × 4 = 12 。
20.顺序结构中,变量赋值的顺序会直接影响程序的__________。
【答案】执行结果
【解析】例如a = 5; b = a + 3与b = a + 3; a = 5的结果不同,前者b为8,后者因a未初始化会报错。
三、简答题(本大题共4小题,每小题5分,共20分)
1.计算1到n的和,n由用户输入。
【答案】
n = int(input("输入n:"))
total = 0
for i in range(1, n + 1):
total += i
print(f"1到{n}的和为:{total}")
2. 打印输出以下图形。
*
***
*****
*******
*********
【答案】
rows = int(input("输入行数:"))
for i in range(1, rows + 1):
print(' ' * (rows - i), end='')
print('*' * (2 * i - 1))
3.编写程序,从键盘输入一个字符串参数,判断该字符串是否为回文字符串(正读和反读都一样,如 "level" )。
【答案】
input_str = input("请输入一个字符串: ").strip().lower()
reversed_str = input_str[::-1]
if input_str == reversed_str:
print(f"'{input_str}' 是回文字符串")
else:
print(f"'{input_str}' 不是回文字符串")
4.编写程序,接收两个参数 a 和 b ,返回它们的最大公约数(使用辗转相除法)。
【答案】
a = int(input("请输入第一个整数: "))
b = int(input("请输入第二个整数: "))
a, b = max(a, b), min(a, b)
while b != 0:
a, b = b, a % b
print(f"最大公约数是: {a}")
学科网(北京)股份有限公司
$$
《Python 程序编写入门》高等教育出版社
第3单元 程序中的逻辑关系
时间:90分钟 总分:100分
班级___________ 姓名___________ 学号___________ 成绩_____________ 一、选择题(本大题共20小题,每小题2分,共40分)
1.执行print(random.randrange(2, 12, 3)),不可能得到的结果是( )。
A. 3
B. 5
C. 8
D. 11
2.以下关于程序流程图中符号的说法,错误的是( )。
A. 起止框表示程序逻辑的开始或结束
B. 判断框表示一个判断条件
C. 处理框表示一组处理过程
D. 输入/输出框只能用于输入操作
3.程序的三种基本结构不包括( )。
A. 顺序结构
B. 异常处理结构
C. 分支结构
D. 循环结构
4.for 或 while 与 else 搭配使用时,else 子句的执行情况为( )。
A.总会执行
B.永不执行
C.仅循环正常结束时执行(未被 break 终止 )
D.仅循环非正常结束(如 break 结束 )时执行
5.import random;s = [1,2,3,4,5];print(random.sample(s,2)) 的运行结果不可能为( )。
A. [1,3]
B. [1,5]
C. [2,6]
D. [2,5]
6.执行 for i in range(1, 5): print(i) ,输出的结果是( )。
A. 1 2 3 4 5
B. 1 2 3 4
C. 0 1 2 3 4
D. 0 1 2 3
7.以下代码 for i in range(3): for j in range(2): print(i, j) ,内层循环执行的次数是( )。
A. 3
B. 5
C. 6
D. 2
8.以下( )是为保持程序结构完整性,不做任何操作的关键字。
A.continue
B.break
C.pass
D.while
9.关于for i in range(5): ,外层循环执行次数是( )。
A. 3
B. 4
C. 5
D. 6
10.函数 len((1, 2, 3, 4)) 的返回值是( )。
A. 3
B. 4
C. 5
D. 报错
11.执行for i in range(2): for j in range(3): print(i,j) ,以下说法正确的是( )。
A. 先执行外层循环全部,再执行内层
B. 内外层循环交替执行,外层一次、内层完整一次
C. 内层循环执行完,外层才执行
D. 以上都不对
12.执行n = 0; while n < 5: n += 1; print(n) ,输出结果是( )。
A. 0 1 2 3 4
B. 1 2 3 4 5
C. 5
D. 无限循环
13. 以下代码执行结果是( )。
s = 0
for i in range(1, 5):
if i % 2 == 0:
s += i
print(s)
A. 4
B. 6
C. 2
D. 10
14.能生成[1, 3, 5, 7]列表的代码是( )。
A. list(range(1, 8, 2))
B. list(range(1, 7, 2))
C. list(range(0, 7, 2))
D. list(range(0, 8, 2))
15.执行for c in "Python": if c == "t": continue; print(c, end=""),输出是( )。
A. Pyhon
B. Pthon
C. Python
D. 出错
16.流程图中,判断条件的图形是( )。
A. 矩形框
B. 菱形框
C. 圆形框
D. 平行四边形框
17.以下能正确获取用户输入整数的代码是( )。
A. num = input("请输入整数:")
B. num = int(input("请输入整数:"))
C. num = eval(input("请输入整数:"))(输入非整数会报错 )
D. num = float(input("请输入整数:"))
18.关于字符串切片,s = "Python"; print(s[-2:])的输出是( )。
A. on
B. th
C. Py
D. hon
19.以下属于Python选择结构的关键字是( )。
A. loop
B. while
C. if
D. if
20.执行for x in [3, 5, 7]: print(x ** 2, end=" "),输出( )。
A. 3 5 7
B. 9 25 49
C. 27 125 343
D. 出错
二、填空题(本大题共20小题,每小题2分,共40分)
1.import random; print(random.randint(1, 10)) 的运行结果范围是____ 。
2.打乱列表my_list中元素顺序的函数是____________________ 。
3.程序的三种基本结构是顺序结构、______ 和循环结构。
4.continue关键字的作用是______ 。
5.while循环的基本结构是while 条件表达式: 缩进的代码块 ,当条件表达式为______时,循环继续执行。
6. 循环结构中,______(可以/不可以 )使用if条件语句控制流程。。
7.while True: 后接pass语句,写法是______(合法/不合法 )。
8.Python 中,a = [1, 2, 3]; a.pop(1); print(a) 的运行结果为____。
9.多分支结构中,elif用于在______条件不满足时,继续判断其他条件。
10.执行x = 5; if x % 2 == 0: print("偶数"); else: print("奇数"),输出______。
11.流程图里,起止框用______图形表示 。
12. 在选择结构中,常见的控制语句有if、if - else和__________,用于根据不同条件执行不同的代码块。
13.顺序结构程序中,若存在语句x = 10; y = x * 2; z = y - 5;,执行完后z的值为__________。
14.在顺序结构程序中,代码执行的顺序是__________,不包含任何条件判断或重复执行逻辑。
15.循环结构中,若循环条件永远为True且没有break语句,会导致__________循环。
16.for循环遍历字符串"hello"时,循环变量依次取的值是__________。
17.在Python中,for循环的变量在循环结束后__________(填“可以”或“不可以”)继续使用。
18.在for循环中,如果使用break语句提前终止循环,对应的else块__________(填“会”或“不会”)执行。
19.循环嵌套中,外层循环执行3次,内层循环执行4次,总循环次数为__________次。
20.顺序结构中,变量赋值的顺序会直接影响程序的__________。
三、简答题(本大题共4小题,每小题5分,共20分)
1.计算1到n的和,n由用户输入。
2. 打印输出以下图形。
*
***
*****
*******
*********
3.编写程序,从键盘输入一个字符串参数,判断该字符串是否为回文字符串(正读和反读都一样,如 "level" )。
4.编写程序,接收两个参数 a 和 b ,返回它们的最大公约数(使用辗转相除法)。
学科网(北京)股份有限公司
$$