内容正文:
第四章程序设计基础2024—2025学年高中信息技术粤教版(2019)必修1
一、选择题
1.下列不可以作为Python合法变量名的是( )
A.c0 B.2a C.a_3 D.小河
2.下列用作 Python 自定义函数的命令是( )
A.import B.def C.dim D.include
3.在Python中,以下程序运行后的结果是( )。
import turtle
turtle.pensize(5)
for a in range(4):
turtle.forward(100)
turtle.left(95)
turtle.done()
A. B. C. D.
4.下列计算表达式的结果为2的是( )
A.int(2.9) B.str(2) C.len(‘2.0’) D.round(2.9)
5.下列Python语句书写正确的是( )
A.n=int(input("n=5") B.PRINT('a=',35)
C.a,b=b,a D.a=3/{[45-2]*11}
6.已知字典dic={'姓名':'张三','年龄':'19','语文':102,'数学':125},下列说法不正确的是( )
A.int(dic['年龄'],16)的值为25 B.dic['语文']+dic['数学']的值为227
C.dic['数学'] in dic的值为True D.dic['姓名']='李四'则dic为{'姓名':'李四','年龄':'19','语文':102,'数学':125}
7.有如下Python程序段:
s = input("请输入一串字符串:")
m = cnt = 1
for i in range(1,len(s)):
if s[i]>s[i-1]:
cnt += 1
if cnt > m :
m = cnt
else:
cnt = 1
print(m)
该程序段的功能是( )
A.输出字符串s中最大的字符的索引 B.输出字符串s中最大的字符
C.输出字符串s中最长的递增序列 D.输出字符串s中最长的递增序列长度
8.已知a=10,则执行a/= -5后,a的值是( )
A.-2 B.-5 C.-2.0 D.-5.0
9.数组a已有9个数据,分别存储于a[0]~a[8],需在第j个位置(1≤j≤9)插入数据k。利用Python语言编写代码,模拟数据插入过程,可选代码如下:
①a[i]=k ②a[i-1]=k ③a[i+1]=a[i] ④a[i]=a[i-1]
⑤for i in range(j,9) ⑥for i in range(8,j-2,-1)
a=[9,8,7,6,5,4,3,2,1,0]
________________________:
________________________
划线处所需代码依次为( )
A.⑥③① B.⑤③② C.⑥④① D.⑤③①
10.汉诺塔游戏中,如果有n个木盘,第n个木盘是最大的木盘,用递归的方法求解,将n个木盘从A杆移动到C杆,需要借助中间的B杆。只要超过一个木盘,在移动过程中,总会存在起始杆、过渡杆及目标杆的问题。因此,定义函数时,用到了4个参数: hanoi(n,s,m,t), n表示需要移动的盘子数量,s表示盘子的起始杆,m表示中间过渡杆,t表示目标杆,如图4.3.4所示。
阅读下列程序。
def hanno(n,s,m,t):
if n==1:
print(s,'-->',t)
else:
hanno(n-1,s,t,m)
print(s,'-->',t)
hanno(n-1,m,s,t)
#主程序
n=int(input('请输入汉诺塔的层数:'))
hanno(n,'A','B','C')
input("运行完毕,请按回车键退出...")
下列说法错误的是( )
A.此递归没有终止结束条件
B.print(s,'-->',t)表示A杆上当前最后木盘移动到C杆上
C.hanno(n-1,s,t,m)表示A杆有n个盘子现将前n-1个盘子从A杆移动到B杆上
D.hanno(n-1,m,s,t)表示将B杆上的n-1个盘子移动到C杆上
11.已知字典d = {1:2,“a”:‘b’,2:‘b’,‘b’:4},则d[2]的值为( )
A.1 B.2 C.‘a’ D.‘b’
12.以下Python程序, 输出结果是( )
x=int(3.0)
x=x+2
print(x**2)
A.25 B.10 C.25.0 D.10.0
13.同学们用海龟绘图画出了彩色的螺旋线,小黄却发现自己的程序无法运行,请你帮他看看图中程序一共有几处错误:( )
input turtle
colors=['blue','red','green','yellow']
t=turtle.Pen()
for i in range(200)
t.color(colors[i%5])
w+=2
t.forward(w)
t.left(89)
A.3 B.4 C.5 D.6
14.下列表达式中,值不是1的是( )。
A.4//3 B.15 % 2 C.1^0 D.~1
15.以下哪个选项是正确的Python分支结构语法( )
A.if condition: action1 else action2 B.if condition action1: action2
C.condition if action1 else action2 D.if action1: condition else action2
16.运行以下程序,输出的结果是:山东青岛,横线处正确的语句是( )
a=“山东”
b=“青岛”
___________
print(c)
A.b+a=c B.a+b=c C.c=b+a D.c=a+b
17.运行以下程序,输出的结果是:3,横线处正确的语句是( )
a=13
b=5
___________
print(s)
A.s=a//b B.s=a%b C.s=a**b D.s=a/b
18.阅读如下一段程序,回答以下问题。
x=20
if x>=10:
value=4*x
else:
value=5*x
print(value)
它的基本结构属于( )
A.分支结构 B.循环结构 C.顺序结构 D.都不对
19.有如下Python程序段
s="aabbccabc"
st=s[1]
for i in range(1,len(s)):
if len(st)==0 or s[i]!=st[len(st)-1]:
st=st+s[i]
else:
st=st[0:len(st)-1]
print(st)
运行该段代码后,输出结果为( )
A.abc B.abcabc C.ababc D.aabbc
20.在Python中,若a=1,b=2,要使输出结果为a+b=3,则应使用的输出语句是( )
A.print("a+b=a+b") B.print("a+b=",a+b)
C.print(a+b,"=a+b") D.print("a+b","=a+b")
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
【详解】本题主要考查Python变量的命名。变量的命名规则有:不能以数字开头,可以以字母或下划线开头,不能包含特殊字符,不能是关键词,故2a不可以作为Python合法变量名,故本题选B选项。
2.B
【详解】本题主要考查Python函数的定义。用作 Python 自定义函数的命令是def,import用于导入库,故本题选B选项。
3.A
【详解】本题主要考查Python绘图函数。由代码“for a in range(4):”可知循环四次,排除C、D选项。代码“turtle.left(95)”表示方向向左偏,偏离的角度是与水平线的夹角为95°,若代码是turtle.left(90)则绘制出来的是正方向,故选A选项。
4.A
【详解】本题主要考查运算符。A项int函数只取整数的结果为2,B项str(2)将2转换成字符类型的结果为’2’, C项len(‘2.0’)求字符串长度的结果为3,D项round(2.9)对2.9进行四舍五入的结果为3,故本题选A。
5.C
【详解】本题考查Python表达式相关内容。选项A,括号没有成对,错误;选项B,Python区分大小写,输出语句应是print,错误;选项C,交换变量a、b的值,正确;选项D,Python运算都是小括号,错误。故本题答案是C选项。
6.C
【详解】本题考查Python字典相关内容。A选项,int(dic['年龄'],16)的值为25,选项正确。B选项,dic['语文']值为102,dic['数学']值为125,两者之和为227,选项正确。C选项,dic['数学'] 值为125,它不是字典的键,所以in dic的值为False,选项错误。D选项,可以修改字典中键的值,dic['姓名']='李四'将'姓名'的值修改为'李四',选项正确。故本题答案为C选项。
7.D
【详解】本题考查Python程序设计相关内容。本题涉及到字符串处理相关知识。由循环体内if语句可知,cnt作用是统计字符串s中递增序列字符的个数,当cnt大于m时,将cnt赋值给m,意味着m存放的是字符串s中最长的递增序列长度。故本题答案是D选项。
8.C
【详解】本题主要考查Python表达式的运算。已知a=10,a/=-5等价于a=a/-5,则执行a/= -5后,a的值是-2.0,故本题选C选项。
9.A
【详解】本题主要考查Python程序执行与调试。该算法的思想是:通过循环先将索引j-2~8的元素依次后移一位,再将k放到a[i]以实现k的插入。代码依次是for i in range(8,j-2,-1)、a[i+1]=a[i] 、a[i]=k ,故本题选A选项。
10.A
【详解】本题主要考查递归算法及Python程序实现。此递归终止结束条件是当n=1时,执行 print(s,'-->',t) ;print(s,'-->',t)表示A杆上当前最后木盘移动到C杆上;hanno(n-1,s,t,m)表示A杆有n个盘子现将前n-1个盘子从A杆移动到B杆上;hanno(n-1,m,s,t)表示将B杆上的n-1个盘子移动到C杆上,故本题选A选项。
11.D
【详解】本题主要考查字典数据类型。字典d = {1:2,“a”:‘b’,2:‘b’,‘b’:4},键为2的值为‘b’,故本题选D选项。
12.A
【详解】本题考查的是Python程序基础。int转换为整型,x=int(3.0)=3,x=x+2=3+2=5,x**2=5**2=25。故选A。
13.C
【详解】本题主要考查Python程序调试。第一处错误,调用turtle绘图库,需要使用import关键字导入,即import turtle;第二处错误,变量w需要初始化,w=0;第三处错误,一共只有四种颜色,故for循环第一句应改为t.color(colors[i%4]);第四处错误,t.left(89)应该在for循环体内;第五处错误,语句“for i in range(200)”后面需要加“:”,故本题选C选项。
14.D
【详解】本题考查运算符的相关知识点
A ,B 取整 取模都为1,C计算为1,D为-1。故本题选D选项
15.A
【详解】本题考查Python基础。
选项B,冒号写错位置并缺少else关键字。选项C,if关键字写错位置并缺少冒号。选项D,条件判断写错位置,应该写在if关键字后。故正确答案为:选项A。
16.D
【详解】本题主要考查Python程序的执行。分析程序,输出的结果是:山东青岛,最后执行的语句是print(c),a=“山东”,b=“青岛”,因此划线处的语句c=a+b,故本题选D选项。
17.B
【详解】本题主要考查Python程序的执行。输出的结果是:3,a=13,b=5,因此横线处可填s=a%b,其值为3,故本题选B选项。
18.A
【详解】本题主要考查Python分支结构的应用。分析程序可知,它的基本结构属于分支结构,故本题选A选项。
19.A
【详解】本题主要考查Python程序的执行。分析程序可知,该程序实现将s中相邻不相等的字母依次拼接到变量st中,相等字母跳过,s="aabbccabc",故运行该段代码后,输出结果为abc,故本题选A选项。
20.B
【详解】本题考查Python基础。print函数显示字符,需要用双引号括起来,变量与显示字符使用逗号分隔。故选择B。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$