12 python数组基础 巩固练习 浙教版(2019)高中信息技术选考(学考)一轮复习(含答案)

文档属性

名称 12 python数组基础 巩固练习 浙教版(2019)高中信息技术选考(学考)一轮复习(含答案)
格式 docx
文件大小 31.2KB
资源类型 教案
版本资源 浙教版(2019)
科目 信息技术(信息科技)
更新时间 2022-09-21 17:45:08

图片预览

文档简介

数据结构大单元
——python数组基础练习2
班级 姓名
1.有如下Python程序段:
import random
s1="PROGRESS" ; s2="" ; f=[False]*8
for i in range(1,5):
t =random.randint(0,3)*2+1
while f[t]:
t =random.randint(0,3)*2+1
f[t]=True
s2=s2+s1[t]
执行该程序段后,变量s2的值不可能是( )
A.EGRS B.GERS C.SEOR D.RESG
2.有如下 Python 程序段:
import random
a_list=[0]*6 ; flag=True ; i=0
while i<6:
x=random.randint(1,100)
if flag or x%2==0:
a_list[i]=x ; flag=not flag ; i+=1
执行该程序段后,在下列选项中,列表a_list值不可能的是( )
A.[69, 54, 53, 82, 17, 100] B.[34, 98, 97, 54, 60, 94]
C.[31, 94, 89, 58, 35, 46] D.[13, 98, 52, 99, 11, 64]
3.有如下 python 程序段(列表 a 的初始值略):
for i in range(6):
if (i+1)%2!=0:
if a[i]%10>5:
a[i]=a[i]//10
else:
a[i]=a[i]%10
else:
a[i]=a[i-1]+1
程序运行后a[0]到a[6]的值分别是2, 3, 4, 5, 0, 1,则a[0]到a[6]各元素的初始值可能是( )
A. 26, 1, 4, 2, 8, 3 B. 12, 1, 14, 2, 11, 3
C. 15, 1, 2, 3, 4, 5] D. 29,1,40,2,3,30
4.有如下Python程序段(程序段前已经导入了random模块):
a=[-1]*5
for i in range(len(a)):
a[i]=random.randint(1,10)
for i in range(2,4):
key=a[i] ; j=i-1
while j>=1 and keya[j+1]=a[j] ; j-=1
a[j+1]=key
执行该程序段后,变量a可能的值为( )
A.[1,0,3,6,7] B.[3,2,6,7,1] C.[1,3,2,5,7] D.[3,5,6,2,7]
5.有如下Python程序段:
import random
num=[]
for i in range(0,6):
n=random.randint(1,10)
num.append(n)
for i in range(1,6):
if i%2==1 and num[i]>num[i-1] :
num[i],num[i-1]=num[i-1],num[i]
else:
num[i]=num[i]-1
运行后列表num中的值可能是( )
A.11,1,7,5,4,3 B.5,3,6,4,0,2 C.4,1,7,4,4,0 D.9,8,1,1,5,4
6.有Python程序段如下:
import random
a=[1,2,3,4,5,6,7]
b=[0]*7
for i in range(len(a)):
b[i] = a[i] + random. randint(1,5)
print(b)
执行该程序段后,屏幕显示内容不可能的是( )
A.[3, 7, 5, 6, 9, 9, 12] B.[5, 4, 4, 8, 10, 9, 10]
C.[2, 7, 8, 8, 8, 7, 9] D.[3, 6, 8, 10, 8, 7, 12]
7.有如下 python 程序段:
from random import randint
list=[0]*6
for i in range(6):
list[i]=randint(10,99)
for i in range(2):
for j in range(5-i):
if list[j]//10+list[j]%10>list[j+1]//10+list[j+1]%10:
list[j],list[j+1]=list[j+1],list[j]
该程序段运行后,列表list的值不可能为( )
A.[54, 17, 26, 40, 73, 85] B.[10, 36, 81, 60, 84, 69]
C.[33, 81, 15, 46, 19, 69] D.[10, 22, 31, 67, 72, 99]
8. 有如下python程序:
import random
a,i,c=[],0,0
while i<5:
b=random.randint(0,9)
if b not in a:
a.append(b) ; i+=1
key=int(input("请输入key值"))
for j in range(len(a)):
if a[j]%key==0: c+=1
else: a[j-c]=a[j]
print(a)
运行该程序,若输入key为2,则输出的 列表a不可能为( )
A.[1,3,5,4,5] B.[1,7,9,5,5] C.[7,9,0,7,9] D.[1,5,4,5,3]
9.有如下Python程序段:
import random
d=[0]*6 ; i=0
while i<=5:
d[i]=random.randint(1,10)
if d[i]%2==i%2:
continue
i=i+1
该程序执行后,数组d的值不可能的是( )
A.[5, 8, 9, 8, 9, 2] B.[7, 4, 5, 9, 3, 6] C.[9, 6, 7, 2, 5, 4] D.[3, 8, 7, 6, 5, 4]
10.有如下Python程序段:
import random
a=[0]*6
for i in range(1,6):
tmp=random.randint(5,24)
if tmp%2==0 or i%2==1:
a[i]=a[i-1]+tmp
运行程序后,数组a的值可能的是( )
A.[0, 9, 29, 50, 0, 20] B.[8, 20, 44, 62, 86, 109]
C.[0, 8, 14, 21, 39, 0] D.[0, 10, 24, 43, 0, 30]
11.有如下Python程序段:
import random
flag=[False]*10 ; a=[0]*6 ; i=0
while i<6:
a[i]=random.randint(1,9)
if not flag[a[i]]:
flag[a[i]]=True ; i+=1
print(a)
该程序执行后,列表a的值可能的是( )
A.[7,1,6,3,2,1] B.[8,9,1,3,0,4] C.[6,3,5,2,4,1] D.[5,7,3,3,8,2]
12.有如下 python 程序段:
from random import *
s=''
for i in range(1,4):
k=int(random()*3+1) ; c=chr(96+k)
if i % 2 == k % 2:
s=s+c
else:
s=c+s
print(s)
若该段程序执行以后,s 的值不可能的是( )
A.'abc' B.'bbc' C.'aab' D.'caa'
13.有如下 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
14. 某些数据中存在“数字山峰”,例如数据“21432748”中存在“1432”、“274”两座“数字山
峰”(必须包含上坡与下坡),下面程序用于求数据中“数字山峰”的数量:
num=input("请输入数字串:")
c=0
(1)
for i in range(1,len(num)):
if (2) and f==False:
f=True
elif (3) and f==True:
c=c+1
f=False
print("有",c,"座数字山峰")
方框(1)(2)(3)的代码由以下部分组成:
①f=True ②f=False ③num[i-1]>num[i] ④num[i-1]下列选项中代码顺序正确的是( )
A.①③④ B.①④③ C.②③④ D.②④③
15.小明编写了一个字符串去重程序,它的功能是对字符串进行去重,并保持原顺序不变。例如,输
入的字符串为“absnbassqr”,执行程序后输出的字符串为“absnqr”。
实现上述算法的Python程序如下,请在划线处填入合适的代码。
s1=input( "请输入字符串:")
n =len(s1)
p=[]
s=""
for i in range(n):
p.append(s1[i] )
for i in range(n):

while j < n:
if p[i]==p[j]:
for k in range(j+1,n):

n-=1
j-=1
j+=1
for i in range(n):

print(s)
数据结构大单元
——python数组基础练习2
班级 姓名
1——5:CDABD
6——10:DDDBA
11——14:CCDD
15. ①j=i+1 ②p[k-1]=p[k] ③s=s+p[i]
同课章节目录