相关试卷
-
1、有如下Python程序段:
from random import random
a=[1]*5
i=1
while i<=4:
a[i]=int(random()*10)+1
if a[i]==a[i-1]//2 or a[i]==a[i-1]*2:
i+=1
执行该程序段后,数组a的值可能是( )
A、[1,2,1,2,1] B、[1,2,4,8,16] C、[2,1,2,1,2,] D、[8,4,2,4,8] -
2、lst1和lst2都是升序排序的列表,执行如下Python程序段:
result=[]
i=0#用于遍历1st1
j=0#用于遍历1st2
while i<len(lst1) and j<len(lst2) :#①
if lst1[i]<lst2[j]:
result.append(lst1[i])
i+=1
else:
result.append(lst2[j])
j+=1
while i<len(lst1):
result.append(lst1[i]) #②
i+=1
while j<len(lst2):
result.append(lst2[j]) #③
j+=1
下列说法不正确的是( )
A、程序段①执行后,result可能与lst1相同 B、程序段①执行后,result可能与lst2相同 C、在一次程序运行中,②处代码和③处代码可能都被执行 D、程序执行后,列表result中的元素升序排序 -
3、有如下Python程序段:
lst=[74,32,66,46,38,28,85]
k=1
for i in range(len(lst)-1):
if lst[i]*k < lst[i+1]*k:
print(lst[i],end=" ")
k=-k
执行完以上程序段后,输出的内容为( )
A、74 66 38 B、74 32 66 38 28 C、74 32 66 46 38 28 D、46 -
4、有如下Python程序段:
s="VictoryOnTheWay" #'A'的ASCII值为65,"a"的ASCII码值为97
mx=""
pre=0
for i in range(1,len(s)):
if ord(s[i]) < 97:
if mx<s[pre:i]:
mx=s[pre:i]
pre=i
print(mx)( )
A、Victory B、On C、The D、Way -
5、有如下Python程序段:
s="13Ka5iSh79"
s1=""
for i in s:
if "0" <= i <= "9":
s1=i+s1
else:
s1+=i
print(s1)
执行该程序段后,输出的结果是( )
A、13Ka5iSh79 B、13579KaiSh C、97531KaiSh D、31Ka5iSh97 -
6、有如下Python程序段:
n=int(input())
a=[0,0,0,0,0,0,0,0,0,0]
c=0
while n>0:
a[n%10]=a[n%10]+1
if a[n%10]==1:
c=c+1
n=n//10
print(c)
执行上述程序段,若输出c的值为4,则输入n的值可能为( )
A、1123 B、2373 C、14551 D、20045 -
7、象限是平面直角坐标系中横轴和纵轴所划分的四个区域,每一个区域叫做一个象限。象限以原点为中心,x,y轴为分界线,原点和坐标轴上的点不属于任何象限。某同学根据输入的坐标点(x,y)来判断该坐标点的位置所在,以下实现该分类的Python程序段中正确的是( )A、if x==0 and y==0:
result="原点"
if x==0 or y==0:
result="数轴"
if x!=0 and y!=0:
result="象限"
B、if x==0 or y==0:result="数轴"
elif x==0 and y==0:
result="原点"
else:
result="象限"
C、if x!=0 and y!=0:result="象限"
elif x==0 or y==0:
result="数轴"
else:
result="原点"
D、if x!=0 and y!=0:result="象限"
if x==0 and y==0:
result="原点"
elif x==0 or y==0:
result="数轴"
-
8、某算法的部分流程图如下图所示,以下说法正确的是( )A、该流程执行后,变量s的值是42 B、该流程执行后,变量a的值是16 C、该流程用于计算并输出2-4+8-16的值 D、该流程完整执行1次,“a<32?" 共执行了5次
-
9、下列关于信息的编码,说法不正确的是( )A、8位二进制数能表示的最大的十进制数是255 B、n进制数120是n进制数12的n倍 C、十进制数x刚好能整除8,则转换为二进制数后三位都为0 D、十六进制数E0H中的“E”对应的权值是162
-
10、下列关于大数据的说法,不正确的是( )A、处理大数据时,一般采用分治思想 B、社交网络数据可采用图计算进行处理 C、速度快是大数据的特征之一,仅指数据的产生速度快 D、价值密度的高低与数据总量的大小成反比
-
11、下列关于数据和信息的说法,正确的是( )A、图形符号不是数据 B、信息不会因为被别人获取而发生耗损 C、信息具有载体依附性,不能脱离他反映的事物传播 D、信息可用模拟信号来表达,模拟信号是离散、不连续的信号
-
12、叶圣陶杯作文大赛开始了,语文老师收集了参赛同学的作文,作品的文件名按“学号&姓名.docx” 格式提交。学号为 8 位,第 10 位开始为姓名,如“20210902&王源.docx”。老师编写了一段程序以便快速找出哪些同学未提交以便于进行通知处理。在处理时发现,可能会存在“ 20210901+王俊凯.docx”“20210901-王俊凯.docx”两种不当的格式。(1)、读取文件名并返回,请在划线处填入合适的代码import os
def readname(): #读取某个文件夹内所有文件的文件名
filepath="pics//"
#读取到的文件名以字符串的形式,作为元素存储在列表 allname 中
allname=os.listdir(filepath)
#os.listdir()用于返回指定的文件夹包含的文件或文件夹的名字的列表
return
(2)、修改文件中的“+”和“-”,请在划线处填入合适的代码def checkname(name):
s=""
for i in name:
if i=="+" or i=="-":
s+="&"
else:
s=s[:-5] #去掉后四位,即去掉后缀名".docx"
return s
(3)、主程序,请在划线处填入合适的代码name=readname()
student=["王俊凯","王源","张明","赵祖一","吴天","顾玲玲","方奔奔","张强"] yes=[];no=[];s=0;result={}
for item in name:
item=checkname(item)
yes.append(stu) #将学生的姓名加入列表
s=s+1
for m in student:
if:
no.append(m)
(4)、输出结果result[" 应 提 交 人 数 :"]=len(student)
result[" 已 提 交 人 数 :"]= ▲
result["已提交的同学:"]=yes
result["还未提交的同学:"]=no
print(result)
划线处可以填入的代码是 (多选,填字母)
A、len(yes) B、s C、len(no) D、len(name) -
13、筛法求素数。埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单鉴定素数的算法。要得到自然数 n 以内的全部素数,必须把不大于根号 n 的所有素数的倍数剔除,剩下的就是素数。
算法思想:先用 2 去筛,即把 2 留下,把 2 的倍数剔除掉;再用下一个质数,也就是 3 筛,把3 留下,把 3 的倍数剔除掉;接下去用下一个质数 5 筛,把 5 留下,把 5 的倍数剔除掉;不断重复下去……
现在使用埃氏筛法求 1~n 之间的素数个数,代码如下:
n=int(input())
a=[1]*(n+1)
a[0],a[1]=0,0 #标记小于 2 的数, 0 表示非素数,1 表示素数
① i=2
while i<=n:
if ② :
for j in range(2*i,n+1,i):
a[j]=0
i+=1
for i in range(n+1):
③ print(num)
(1)、若输入的值为 20,则输出为。(2)、请在划线处填入合适的代码。① ② ③
-
14、编写一个“计算多边形周长”的程序。功能如下:输入多边形的边的数量和顶点的坐标值,程序计算各条边的长度,并输出该多边形的周长。例如,输入多边形的边的数量为 4,各顶点的坐标分别为(0,0)、(2,4)、(3,5)、(6,6),运行结果如图所示。
请输入多边形的边的数量:4
请输入多边形顶点的横坐标:0
请输入多边形顶点的纵坐标:0
请输入多边形顶点的横坐标:2
请输入多边形顶点的纵坐标:4
请输入多边形顶点的横坐标:3
请输入多边形顶点的纵坐标:5
请输入多边形顶点的横坐标:6
请输入多边形顶点的纵坐标:6
{1: [0, 0], 2: [2, 4], 3: [3, 5], 4: [6, 6]}
多边形的周长为: 17.533908551779625
d={} s=0
n=int(input("请输入多边形的边的数量:"))
for i in range(1, ① ):x=int(input("请输入多边形顶点的横坐标:"))
y=int(input("请输入多边形顶点的纵坐标:"))
d[i]=[x,y] print(d)
j=n
while j>1:
x1=d[j][0]-d[j-1][0]
y1= ①
s=s+(x1**2+y1**2)**0.5
②
s=s+((d[n][0]-d[1][0])**2+(d[n][1]-d[1][1])**2)**0.5
print("多边形的周长为:",s)
(1)、该算法是否可以运用到计算圆周长的场景中(选填:是/否)。(2)、请在划线处填入合适的代码。① ② ③
-
15、有如下 Python 程序段:
import random s="12345678"
g=""
for i in range(3):
n=len(s)
pos=random.randint(1,n-1)
g+=s[pos]
s=s[0:pos]+s[pos+1:n] print(g)
在该程序段执行时,变量 g 的值可能为 ( )
A、"542" B、"138" C、"336" D、"15" -
16、某 Python 程序如下:
s="Dijob 2023" s1=""
for i in range(0,len(s)):
c=s[i]
if "a"<=c<="z" or "A"<=c<="Z":
s1=s1+chr(ord(c)-1)
else:
s1=c+s1 print(s1)
程序运行后,输出的结果是 ( )
A、China 2023 B、3202 China C、2023 China D、China 3202 -
17、下列语句用于计算 s=1+2+5+8+11+…+26 的结果并输出,则 range 函数的各个参数为( )
s=1
for i in range(_):
s=s+i print(s)
A、1,26,3 B、1,27,3 C、2,26,3 D、2,27,3 -
18、某 Python 程序段代码如下, 与该程序段功能等价的是( )
if x>90:
y=x*0.5 else:
y=x*0.9
A、if x>90:y=x*0.5 y=x*0.9
B、if x<90:y=x*0.9 else:
y=x*0.5
C、y=x*0.9 if x>90:y=x*0.5
D、if x>90:y=x*0.5 if x<90:
y=x*0.9
-
19、已知 a="012345",b=["012",3,4,5],c= {0:1,2:4,3:5},下列语句执行完毕后,s 的值为 5 的是 ( )A、s=0
for i in a[5]:
s=s+1
B、s=0for i in range(b[2]):
s=s+1
C、s=0while s<=c[2]:
s=s+1
D、s=0while s>c[3]:
s=s+1
-
20、a="345",若要构造其回文数 b 为"34543",以下语句无法实现的是 ( )A、b=a+a[-2:-4:-1] B、b=int(a)*100+int(a[1::-1]) C、b=a+a[1]+a[0] D、b=(a[0]+a[1]+a[2])*2