内容正文:
第二节 程序设计语言基础知识
一、选择题
1.运行下面代码,“hello”的输出次数为( )
numbers1=[1,3,4,9]
numbers2=[3,5,7]
for i in numbers1:
for j in numbers2:
print("hello")
A.3 B.4 C.12 D.255
2.下面对Pygame的理解不正确的是( )
A.使用Pygame可以开发出优秀的游戏
B.Pygame是一种游戏开发引擎,基本逻辑具有参考价值
C.Pygame适合用于游戏逻辑验证、游戏入门及系统演示验证
D.Python最经典的2D游戏开发第三方库,但不支持3D游戏开发
3.在 Python 语言中,a=True,则a的数据类型是( )
A.字符串 B.浮点型 C.整型 D.布尔型
4.运行下列Python程序后,输入41,输出结果为( )
f=float(input("请输入一个华氏温度:"))
c=5*(f-32)/9
print(c)
A.5 B.5.0 C.10 D.10.0
5.运行以下Python程序,执行后m的值是( )
list3=[3,7,4,8,2,5,10]
n=len(list3)
m=list3[0]
for i in range(n):
if list3[i]>m:
m=list3[i]
print(m)
A.7 B.2 C.8 D.10
6.如下Python程序段
a=5
if a > 5 :
b = a ** 2
else:
b = a ** 3 + 1
print(b)
运行结果是( )
A.126 B.25 C.10 D.5
7.以下表达式计算结果为False的是( )
A.25>-24 and 25<26 B.25==25 or 25<24
C.not(26<25) D.26!=26 and 26>25
8.智能农业大棚中的自动温度控制系统,通过温度传感器每隔一定时间采集大棚中的温度,一旦监测到环境温度超过预设的最高温度40℃,控制系统会启动通风和喷水子系统实现降温;如果温度低于预设的最低温度18℃,控制系统会启动加热器,给大棚升温。用变量t表示温度传感器采集的温度值,下列不能实现该系统温度控制功能的算法是( )
A.
if t>40:
x="启动降温系统"
else:
x="启动升温系统"
B.
if t>40:
x="启动降温系统"
else:
if t<18:
x="启动升温系统"
C.
if t<18:
x="启动升温系统"
if t>40:
x="启动降温系统"
D.
if t<18:
x="启动升温系统"
elif t>40:
x="启动降温系统"
A.A B.B C.C D.D
9.下列Python表达式中,值为True的是( )
A."TZ" in "TaiZhou" B.12//3**2==16 C."3123"<"761" D.2024%100!=1243//10%100
10.有如下Python程序段:
matrix=[[1,1,1,1],[2,2,2,2],[3,3,3,3],[4,4,4,4]]
k=int(input())
tot=0
for i in range(4):
for j in range(4):
if i+j=k:
tot+=matrix[i][j]
print(tot)
若输入2,则输出为( )
A.12 B.10 C.8 D.6
11.某对分查找的 Python程序如下:
s=[9,12,25,39,43,55,61,72,88,97]
i=0;j=len(s)-1;t=0
key=int(input())
while i<=j:
m=(i+j+1)//2
if s[m]>key:
j=m-1; t=t+1
else:
i=m+1; t=t*2
print(t)
当输入不同的 key值时,运行程序后,输出的结果不可能是( )
A.5 B.4 C.3 D.2
12.有下面一段程序,运行该程序后s的值为( )
A.3 B.5 C.8 D.10
13.如下Python程序段:
s=input(a)
p="";key=3
for ch in s:
if "0"<=ch and ch<="9":
p+=srt((int(ch)+key)%10)
else:
p=ch+p
print(p)
若输入a的值为“GK2023”,则输出p为( )
A.GK3202 B.KG5356 C.GK5356 D.KG2023
14.函数range(6,10)生成的序列中元素的个数是( )
A.3 B.4 C.5 D.6
15.有如下Python程序段:
from random import randint
from math import sqrt
a=[]
for i in range(6):
a.append(randint(5,10)*2)
for i in range(6):
for j in range(len(a)-1,i,-1):
if a[j]>a[j-1]and sqrt(a[j])!=int(sqrt(a[j])):
a[j],a[j-1]=a[j-1],a[j]
print(a)
执行该程序段后,输出结果不可能的是( )
A.[20,12,12,10,16,10] B.[20,18,16,14,10,14]
C.[18,16,14,12,12,10] D.[16,14,12,10,10,10]
16.某客户购买的新能源汽车价格为t万元,可享受当地政府购车补贴,补贴标准如下:价格20万元(不含)以下,补贴0.25万元;价格20万元(含)至30万元(不含),补贴0.5万元;价格30万元(含)以上,补贴1万元。在下列选项中,计算实际购车价格p的程序代码正确的是( )
A.
p=t-0.25
if t>=20:
p=t-0.5
elif t>=30:
p=t-1
B.
p=t-1
if t<20:
p=t-0.25
elif t<30:
p=t-0.5
C.
p=t-0.25
if t>=30:
p=t-1
if t>=20:
p=t-0.5
D.
p=t-1
if t>=20:
p=t-0.5
else:
p=t-0.25
A.A B.B C.C D.D
二、填空题
17.在Python中,字符串常量可以用单引号或 括起来。
18.input( )函数的返回值的类型是 。
19.求s=1+1/3+1/5+1/7+1/9+…+1/99的和,在如下程序横线空白处填入正确的表达式 。
s=0
for i in range(1,100,2):
print(s)
20.用Python表达式补充完成如下程序,统计四位奇数中满足能被23和19整除的总数。
s=0
for i in range(1001,10000,2):
:
s=s+1
print(s)
三、判断题
21.用高级语言编写的程序也不能直接被计算机识别和执行,必须经过编译程序或解释程序将其翻译成机器语言。( )
22.汇编语言是面向机器的语言,其可读性相对较好,容易被移植。( )
23.在Python3.x语言中,input()函数的返回值类型是字符串。( )
24.Python语言的变量名要区分英文字母的大小写。( )
四、操作题
25.请为老师完善一个课堂上随机抽取学生回答问题的算法。已知“从5位学生中随机抽取1位学生”的算法,学生名单、流程图、代码如下表所示。
Stuname[0]
Stuname[1]
Stuname[2]
Stuname[3]
Wangmin
Zhangyi
Lili
Songju
import random
stuname=[“Wangmin”,“Zhangyi”,“Lili”,“Songju”,“Wuyi”]
x=random.randint(0,4)
print(stuname[x])
(1)关于语句“import random”与“x=random.randint(0,4)”,以下分析正确的是( )
A.导入Python random模块,随机函数random.randint(0,4)生成随机[0,4]之间的整数
B.随机函数,random.randint(0,4)能随机生成一个任意整数
C.随机函数,random.randint(0,4)能随机生成[1,5]之间的实数
D.随机函数,random.randint(0,4)能随机生成一个任意实数
(2)关于列表status和变量m的作用,以下理解正确的是( )
A.列表status是用于存储下标与stuname对应的学生是否被点过名的状态;变量m无任何作用
B.列表status是用于存储下标与stuname对应的学生是否被点过名的状态,值0表示“没被点名”,1表示“已被点过名”;变量m用来计数统计学生人数是否大于2个
C.列表status是用于存储0或1,与数组stuname无关;变量m用来计数统计学生人数是否大于2个
D.列表status是用于存储0或1,与数组stuname有关;变量m用来计数统计学生人数是否大于2个
(3)请将代码横线处补充完整,使算法满足如下功能:从5位学生中随机抽取2位学生,每次抽取的学生不能重复。
stuname=[“Wangmin”,“Zhangyi”,“Lili”,“Songju”,“Wuyi”]
#以下初始化列表status,0表示未被点过名
status=[0,0,0,0,0] #以下随机显示2位学生姓名,要求不重复
import random
m=0
for i in range(0,2):
while True:
x=①
print(x)
if ② :
print(stuname[x])
status[x]=1
m=m+1
if m>=2: #点名学生人数满足2个跳出循环终止统计
break
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.C
【详解】本题考查Python程序设计相关内容。分析程序段,外循环4个数据,内循环3个数据,3×4=12次。故本题答案是C选项。
2.D
【详解】本题考查Python基础。
Python最经典的2D游戏开发第三方库,但不支持3D游戏开发。这个选项是不完全正确的。虽然Pygame被广泛认为是Python中用于2D游戏开发的经典第三方库,并且它确实提供了丰富的2D图形和声音处理功能,但它并非完全不支持3D游戏开发。Pygame本身主要聚焦于2D,但开发者仍然可以使用Pygame结合其他库(如OpenGL)来实现3D图形的渲染。故正确答案为:选项D。
3.D
【详解】本题考查Python数据类型。在Python中,布尔型常量的值是True和False。故选D。
4.B
【详解】本题考查Python程序执行。float ()函数是Python内置的一个函数,用于将其他数据类型转换为浮点数类型。输入41,则c=5*(f-32)/9=5*9.0/9=5.0。故选B。
5.D
【详解】本题考查Python程序。首先,list3=[3,7,4,8,2,5,10],通过n=len(list3)计算出列表的长度n=7。然后,初始化m=list3[0]=3。接下来进入for循环,从i=0到i=6。当i=0时,list3[0]=3,不大于m,m不变。当i=1时,list3[1]=7,大于m,更新m=7。当i=2时,list3[2]=4,不大于m,m不变。当i=3时,list3[3]=8,大于m,更新m=8。当i=4时,list3[4]=2,不大于m,m不变。当i=5时,list3[5]=5,不大于m,m不变。当i=6时,list3[6]=10,大于m,更新m=10。循环结束,最终m的值为10。故答案为:D。
6.A
【详解】本题考查Python分支结构的应用。a=5,满足else条件,执行b=a**3+1=5**3+1=126。故选A。
7.D
【详解】本题考查表达式的运算。逻辑运算符or两边值均为假时值才为假,否则值为真;逻辑运算符and两边值均为真时值才为真,否则值为假,not是取反。26!=26→False,则26!=26 and 26>25值为False。其余选项表达式值均为True。故选D。
8.A
【详解】本题考查算法。根据题意,系统需要在温度高于40℃时启动降温系统,在温度低于18℃时启动升温系统。选项A的算法中,如果温度大于40℃,会启动降温系统;否则,即使温度在18℃到40℃之间,系统也会启动升温系统,这与题意不符。选项B、C和D都能正确判断温度是否超过40℃或低于18℃,并分别启动相应的系统。故答案为:A。
9.C
【详解】本题考查的是Python表达式。"TZ" in "TaiZhou"、12//3**2==16、2024%100!=1243//10%100值为False,"3123"<"761"值为True。故选C。
10.D
【详解】本题考查Python程序。程序的功能是计算二维列表matrix中满足条件i+j=k的元素之和,其中k是用户输入的整数。解析如下:给定二维列表matrix,每个子列表都包含相同的四个整数。用户输入一个整数k。初始化变量tot为0,用于累加满足条件的元素之和。使用嵌套循环遍历matrix的每个元素:外层循环i控制行索引。内层循环j控制列索引。判断条件i+j==k,如果成立,则将matrix[i][j]的值加到tot中。最后输出变量tot的值,即满足条件i+j=k的元素之和。若输入2,根据题目的计算,满足条件的元素有(0,2),(1,1),(2,0),它们分别对应的值是1,2,3,因此最终的输出是1+2+3=6。故答案为:D。
11.A
【详解】本题考查对分查找相关内容。结合对分查找算法思想和程序段,构造二叉树,如图所示:。依据while循环,查找成功时:查找25、12、43、61时,t的值为4;查找9、39、43时,t的值为6;查找55时,t的值为3;查找88时,t的值为0;查找72时,t的值为2。查找失败时,t的取值范围是{0,2,3,4,6}。即无论查找成功与否,t的值都不可能是5。故本题答案是A选项。
12.B
【详解】本题主要考查Python程序的执行。当list[i]>0且i<=n时,s递增,i递增,否则退出循环。当list[5]=-9<0,退出循环。故s=0+1+1+1+1+1=5,故运行程序后s的值为5,故本题选B选项。
13.B
【详解】本题考查Python程序分析。这段代码的功能是对输入的字符串进行处理。如果字符是数字,则将其加密(通过加上一个密钥然后取模10),如果字符不是数字,则将其放在结果字符串的前面。依次输入遍历GK2023,处理字母结果为KG,数字2,0,2,3依次加3取余10,结果为5,3,5,6。故正确答案为选项B。
14.B
【详解】本题考查Python函数的应用。range(start, stop,[step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0,5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0,5) 是[0,1,2,3,4]没有5;step:步长,默认为1。range(6,10)生成:6、7、8、9共4个。故选B。
15.B
【详解】本题考查程序分析。程序可知为排序算法。特殊数值为16。B选项不可能出现。a[5]>a[4],故需要交换变量值,但B选项未交换,不可能出现。其它选项可能出现。故选择B。
16.B
【详解】本题考查的是Python多分支语句。选项A中,如果价格30万元(含)以上,满足if语句,不会执行elif语句,补贴0.5万元,不符合题意;选项C中,如果价格30万元(含)以上,也满足第二个if语句,补贴0.5万元,不符合题意;选项D中,如果价格30万元(含)以上,满足if语句,补贴0.5万元,不符合题意。故选B。
17.双引号
【详解】本题考查Python。在Python中,字符串常量既可以使用单引号''括起来,也可以使用双引号""括起来。故答案为:双引号。
18.字符串型
【详解】本题考查输入函数相关知识。input()函数是输入函数,用于接受一个标准输入数据,函数返回值是“字符串”类型。故本题答案是:字符串型
19.s=s+1/i
【详解】本题考查Python程序。题目要求计算序列1+1/3+1/5+1/7+...+1/99的和。可以通过for循环遍历1到99之间的所有奇数,并将每个数的倒数累加到变量s中。在这个程序中,for i in range(1,100,2)表示从1开始到100(不包括100),以步长2进行循环。每次循环中,s=s+1/i将当前奇数的倒数累加到s中,最后输出s的值即为所求的和。故答案为:s=s+1/i。
20.if i %23==0 and i %19 ==0
【详解】本题考查的是Python循环与选择语句。通过循环变量i遍历所有四位数的奇数,判断能否被23和19整除,只要看除完后的余数是否为0,故画线处代码为:if i %23 == 0 and i %19== 0。
21.正确
【详解】本题主要考查程序设计语言的描述。用高级语言编写的程序也不能直接被计算机识别和执行,必须经过编译程序或解释程序将其翻译成机器语言,表述正确。
22.错误
【详解】本题考查汇编语言的描述。汇编语言是面向机器的语言,其可读性相对较好,但不容易被移植,开发难度大。故表述错误。
23.正确
【详解】本题考查Python函数。input()函数用于从标准输入读取一行,并将其作为字符串返回。无论用户输入什么内容,input()函数返回的值始终是字符串类型。故说法正确。
24.正确
【详解】本题考查Python。Python语言的变量名是区分英文字母大小写的,这意味着在Python中,变量名var和Var被视为两个不同的变量。故说法正确。
25. A B x=random.randint(0,5) status[x]==0
【详解】本题考查程序分析。
(1)A选项是正确的。import random确实导入了Python的random模块,该模块提供了生成随机数的功能。random.randint(0,4)函数则用于生成一个指定范围内的随机整数,包括两端的值,即在这个例子中,它会生成0到4之间的一个随机整数(包括0和4)。B这个选项是错误的。random.randint(0,4)生成的整数是有限制的,即在0到4之间,而不是任意整数。C这个选项也是错误的。random.randint(0,4)生成的是整数,而不是实数,且范围是在0到4之间,而不是1到5之间。D选项同样是错误的。random.randint(0,4)生成的是整数,不是实数,且范围有限制。故正确答案为:选项A。
(2)选项A,错误。变量m用来计数统计被点名的学生人数是否大于2个。选项C,错误。列表status是用于存储0或1,与数组stuname有关。选项D,错误。并没有说清楚列表status是用于存储0或1,与数组stuname有关的原因。故正确答案为:选项B。
(3)①变量x存储产生的随机数,故列表的下标。故正确答案为:x=random.randint(0,5)。②if语句判断随机产生的学生是否已经被点过名,故需要判断点名状态值,故正确答案为:status[x] == 0。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$