内容正文:
编写说明:2027版安徽省普通高校对口招生考试电子与信息大类(计算机类)专业《考纲百套卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要(2025年版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷75份、专题训练卷17份、课程综合卷7份。
本试卷是第67卷,为知识训练卷,按《计算机编程基础—Python语言》中“循环结构程序设计”范围和要求编写。具体内容为:1.while 语句循环程序设计(C)。2.for 语句循环程序设计(C)。3.循环嵌套(D)。4.break/continue/pass 语句(A)。
安徽省对口招生考试
电子与信息大类(计算机类)《考纲百套卷》
第67卷 计算机编程基础—Python语言——循环结构程序设计
(考试时间:45分钟 满分:100分)
一、填空题(共10题,每题2分,共20分)
1.使用__________函数可在遍历列表时同时获取索引和元素值。
2.遍历字典时,for k in d默认遍历的是字典的__________。
3.当需要循环执行但次数未知时,应使用__________循环。
4.Python中__________语句用于在循环中什么也不做。
5.计算整数n的各位数字之和,用循环取出每位数字的核心操作是__________和__________。
6.用for循环生成列表[0,1,4,9,16]的简洁写法是__________。
7.嵌套循环的外层控制__________、内层控制__________。
8.判断一个数是否为回文数,需要将其_______后与_______比较。
9.while循环中判断条件在循环体之_______(前/后)执行。
10.for i in range(1,6):for j in range(1,i+1):print(j,end="");print()输出的图形特征是_______。
二、单项选择题(共15题,每题2分,共30分)
11.enumerate(["a","b"])返回( )
A.[(0,"a"),(1,"b")]
B.["a","b"]
C.[0,1]
D.报错
12.for k in{"a":1,"b":2}:print(k)输出( )
A.1 2
B.a b
C.a 1 b 2
D.报错
13.n=123;s=0;while n>0:s+=n%10;n//=10;s值( )
A.6
B.123
C.3
D.1
14.num=121;r=0;while num>0:r=r*10+num%10;num//=10;r值( )
A.121
B.12
C.1
D.0
15.for i in range(2,10):if i%2==0:continue;print(i)输出( )
A.2 4 6 8
B.3 5 7 9
C.1 3 5 7 9
D.所有数
16.while True:...中退出用( )
A.continue
B.break
C.pass
D.return
17.[x for x in range(10) if x%3==0]结果( )
A.[0,3,6,9]
B.[3,6,9]
C.[0,1,...,9]
D.报错
18.for i in range(3):for j in range(2):print("*",end="");print()输出( )
A.**行×3
B.***行×2
C.六行星
D.三行**
19.for i in range(1,4):for j in range(1,4):print(i*j,end=" ")输出几行( )
A.4
B.3
C.9
D.12
20.while n:=input():中:=作用( )
A.语法错
B.赋值并用于条件
C.定义函数
D.注释
21.for c in"hello":if c in"aeiou":print(c)输出( )
A.h e l l o
B.a e i o u
C.e o
D.无
22.斐波那契数列前两个是1,1,下一个是前两个之和,第6项是( )
A.8
B.5
C.13
D.6
23.for i in range(5):for j in range(i+1):print(i,end="");print()输出第3行( )
A.222
B.012
C.333
D.111
24.for x in range(1,101):if x%7==0:print(x,end="");输出个数( )
A.14
B.15
C.7
D.13
25.for i in range(2):for j in range(3):if j==1:break;print(j)最后输出( )
A.0 0
B.0
C.空
D.0 1
三、程序分析题(共3题,每题6分,共18分)
26.n=int(input())
______=0
while n>0:
s+=n%10
n______10
print("各位之和:",s)
27.for i in range(1 5)
if i%=0:
print(i)
else
print("done")
28.n=12345
while n>0:
d=n%10
print(d,end="")
n//=10
四、程序设计题(3题,29/30各6分/31各8分)
29.输入整数n,用for循环计算1+(1+2)+(1+2+3)+...+(1+2+...+n)。样例:n=3→10
30.输入整数n,用while循环输出其二进制表示(不含0b前缀)。样例:13→1101
31.用for循环输出菱形图案(共2n-1行,第n行2n-1个*)。输入n=3→第1行1个*...第3行5个*...第5行1个*
五、综合应用题(共1题,每题12分,共12分)
32.编写完数判断程序:一个数如果恰好等于除自身外的因子之和,称为完数。输入n,输出1~n中所有完数。样例:n=500→6 28 496
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版安徽省普通高校对口招生考试电子与信息大类(计算机类)专业《考纲百套卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要(2025年版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷75份、专题训练卷17份、课程综合卷9份。
本试卷是第67卷,为知识训练卷,按《计算机编程基础—Python语言》中“循环结构程序设计”范围和要求编写。具体内容为:1.while 语句循环程序设计(C)。2.for 语句循环程序设计(C)。3.循环嵌套(D)。4.break/continue/pass 语句(A)。
安徽省对口招生考试
电子与信息大类(计算机类)《考纲百套卷》
第67卷 计算机编程基础—Python语言——循环结构程序设计
(考试时间:45分钟 满分:100分)
一、填空题(共10题,每题2分,共20分)
1.使用__________函数可在遍历列表时同时获取索引和元素值。
【答案】enumerate
【解析】enumerate(seq)返回(索引,元素)元组序列的迭代器。常用于需要索引的遍历场景如for i,v in enumerate(lst)。
2.遍历字典时,for k in d默认遍历的是字典的__________。
【答案】键
【解析】字典默认迭代键。for k in d等价于for k in d.keys()。keys()返回键视图对象支持成员检查和集合操作。
3.当需要循环执行但次数未知时,应使用__________循环。
【答案】while
【解析】while循环适用于循环次数不确定的场景,如读取文件直到末尾、用户输入特定标记值退出等动态条件控制。
4.Python中__________语句用于在循环中什么也不做。
【答案】pass
【解析】pass 为空语句,仅用于语法占位,循环内使用该语句不会执行任何功能逻辑。
5.计算整数n的各位数字之和,用循环取出每位数字的核心操作是__________和__________。
【答案】%10、//10
【解析】对数字取模 10(n%10)提取个位数字,整除 10(n//10)剔除已取值的个位,循环完成全部数位拆解求和。
6.用for循环生成列表[0,1,4,9,16]的简洁写法是__________。
【答案】[i*i for i in range(5)]
【解析】使用列表推导式遍历 0~4,对变量做平方运算,快速生成平方数列表。
7.嵌套循环的外层控制__________、内层控制__________。
【答案】行、列
【解析】打印矩阵、三角形图案的双层嵌套循环,外层循环控制行数,内层循环控制单行内的列元素输出。
8.判断一个数是否为回文数,需要将其_______后与_______比较。
【答案】反转、原数
【解析】将数字整体反转后和原始数字对比,数值一致则该数为回文数。
9.while循环中判断条件在循环体之_______(前/后)执行。
【答案】前
【解析】标准 while 循环为先判断循环条件,条件成立才执行循环体代码。
10.for i in range(1,6):for j in range(1,i+1):print(j,end="");print()输出的图形特征是_______。
【答案】每一行输出1到i的数字
【解析】外层循环控制行数,第 i 行内层循环依次打印 1 至 i 的连续数字,换行后形成递增直角数字三角。
二、单项选择题(共15题,每题2分,共30分)
11.enumerate(["a","b"])返回( )
A.[(0,"a"),(1,"b")]
B.["a","b"]
C.[0,1]
D.报错
【答案】A
【解析】enumerate返回(索引,值)可迭代对象,list后为[(0,"a"),(1,"b")]。
12.for k in{"a":1,"b":2}:print(k)输出( )
A.1 2
B.a b
C.a 1 b 2
D.报错
【答案】B
【解析】遍历字典默认遍历键。输出键名"a""b"。键序Python3.7+保证插入顺序。
13.n=123;s=0;while n>0:s+=n%10;n//=10;s值( )
A.6
B.123
C.3
D.1
【答案】A
【解析】123%10=3→s=3,n=12;12%10=2→s=5,n=1;1%10=1→s=6,n=0。各位和6。
14.num=121;r=0;while num>0:r=r*10+num%10;num//=10;r值( )
A.121
B.12
C.1
D.0
【答案】A
【解析】121:r=0*10+1=1;12:r=1*10+2=12;1:r=12*10+1=121。反转后121。
15.for i in range(2,10):if i%2==0:continue;print(i)输出( )
A.2 4 6 8
B.3 5 7 9
C.1 3 5 7 9
D.所有数
【答案】B
【解析】continue跳过偶数(不print)。输出奇数3,5,7,9。
16.while True:...中退出用( )
A.continue
B.break
C.pass
D.return
【答案】B
【解析】break终止while True无限循环。continue跳本次,pass空操作,return函数内返回。
17.[x for x in range(10) if x%3==0]结果( )
A.[0,3,6,9]
B.[3,6,9]
C.[0,1,...,9]
D.报错
【答案】A
【解析】列表推导x%3==0筛选3倍数:0,3,6,9。range(10)包括0。列表推导=for+if+append简写。
18.for i in range(3):for j in range(2):print("*",end="");print()输出( )
A.**行×3
B.***行×2
C.六行星
D.三行**
【答案】A
【解析】每行内层输出**,外层3次→3行各**。end=""同行,print()换行。
19.for i in range(1,4):for j in range(1,4):print(i*j,end=" ")输出几行( )
A.4
B.3
C.9
D.12
【答案】B
【解析】外层3次(i=1,2,3)打印3行。每行输出3个数。3行3列共9个数。
20.while n:=input():中:=作用( )
A.语法错
B.赋值并用于条件
C.定义函数
D.注释
【答案】B
【解析】海象运算符:=在条件中赋值并返回值。空串""为假退出。常用于while读取模式。
21.for c in"hello":if c in"aeiou":print(c)输出( )
A.h e l l o
B.a e i o u
C.e o
D.无
【答案】C
【解析】in检查元音字母。只输出e和o(hello中两个元音)。if+in+for组合筛选。
22.斐波那契数列前两个是1,1,下一个是前两个之和,第6项是( )
A.8
B.5
C.13
D.6
【答案】A
【解析】1,1,2,3,5,8,13。第6项=8。可用循环a,b=b,a+b递推生成。
23.for i in range(5):for j in range(i+1):print(i,end="");print()输出第3行( )
A.222
B.012
C.333
D.111
【答案】A
【解析】i=2时j=0,1,2各输出一次2→"222"。第0行0,第1行11,第2行222。
24.for x in range(1,101):if x%7==0:print(x,end="");输出个数( )
A.14
B.15
C.7
D.13
【答案】A
【解析】1~100中7的倍数:7,14,...98。100//7=14个。共14个。
25.for i in range(2):for j in range(3):if j==1:break;print(j)最后输出( )
A.0 0
B.0
C.空
D.0 1
【答案】A
【解析】外层2次,每次内层j=0输出。j=1时break。最后i=1时输出j=0。共输出2个0。
三、程序分析题(共3题,每题6分,共18分)
26.n=int(input())
______=0
while n>0:
s+=n%10
n______10
print("各位之和:",s)
【答案】(1)s(3分);(2)//=(3分)。
【解析】n%10取个位,n//=10等价n=n//10去掉个位。循环直到n=0。如输入456:6+5+4=15。
27.for i in range(1 5)
if i%=0:
print(i)
else
print("done")
【答案】(1)range(1,5)缺逗号,应为range(1,5)(3分);(2)if i%=0:%误写,应为i%2==0或i%3等(3分)。
【解析】range参数逗号分隔。%是取余运算符不是单独使用的语句,需构成表达式如i%2。else缺少冒号。
28.n=12345
while n>0:
d=n%10
print(d,end="")
n//=10
【答案】54321
【解析】每次循环输出n的个位:5→4→3→2→1。组合输出54321,即原数反转。n//=10逐次剥离个位。
四、程序设计题(3题,29/30各6分/31各8分)
29.输入整数n,用for循环计算1+(1+2)+(1+2+3)+...+(1+2+...+n)。样例:n=3→10
【答案】n=int(input());total=0
for i in range(1,n+1):
total+=i*(i+1)//2
print(total)
【解析】第i项=1+2+...+i=i(i+1)/2。公式加速。也可双层循环内层累加但效率低。n=3:1+3+6=10。
30.输入整数n,用while循环输出其二进制表示(不含0b前缀)。样例:13→1101
【答案】n=int(input());r=""
while n>0:
r=str(n%2)+r
n//=2
print(r if r else "0")
【解析】除2取余法。n%2得二进制位(0/1),拼接到左侧。n//=2继续。最后r为空(n=0)输出0。
31.用for循环输出菱形图案(共2n-1行,第n行2n-1个*)。输入n=3→第1行1个*...第3行5个*...第5行1个*
【答案】n=int(input())
for i in range(1,n):
print(" "*(n-i)+"*"*(2*i-1))
for i in range(n,0,-1):
print(" "*(n-i)+"*"*(2*i-1))
【解析】上三角:i=1~n-1,空格递减,*递增。下三角:i=n~1,空格递增,*递减。对称菱形。字符串乘数重复构造。
五、综合应用题(共1题,每题12分,共12分)
32.编写完数判断程序:一个数如果恰好等于除自身外的因子之和,称为完数。输入n,输出1~n中所有完数。样例:n=500→6 28 496
【答案】n=int(input())
for num in range(2,n+1):
s=1
for i in range(2,int(num**0.5)+1):
if num%i==0:
s+=i
if i!=num//i:s+=num//i
if s==num:print(num,end=" ")
【解析】遍历1到n。内层找因子:i从2到sqrt(num)。i是因子则加上i和对应的num//i。优化:配对因子一次加俩,避免重复加。s==num即为完数。6=1+2+3,28=1+2+4+7+14,496=1+2+4+8+16+31+62+124+248。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$