学进去-教育应平等而普惠
排序:
限于篇幅仅展示1000道试题,请根据关键词精准搜索
列表a中存储了8个元素,即a[0],a[1],…,a[7],有如下Python程序段:
n=8
for i in range(n-1):
     for j in range(n-1,i,-1):
        if   a[j] < a[j-1] and j %4!=0:
            a[j-1],a[j]=a[j],a[j-1]
该程序段实现的是(     
A.a[0]到a[7]升序排序B.a[4]到a[7]升序排序
C.a[0]到a[7]的数据对4取余之后升序排序D.a[0]到a[3]、a[4]到a[7]分别升序排序
类型:选择题
难度系数:较难0.4
收藏
纠错
详情
有如下Python程序段:
s="abcdddbha"
que=[""]*10
head=tail=0
for i in range(len(s)):
     if s[i] not in que[head:tail]:
        que[tail]=s[i]
        tail+=1
     else:
        head+=1
print(que[head:tail])
程序运行后,输出的结果是(       
A.['a','b','c','d','h']B.['a','b','c','d','d']
C.['c','d','b','h','a']D.['a','d','d','d','a']
类型:选择题
难度系数:较难0.4
收藏
纠错
详情
一列货运列车有n节车厢,每节车厢将停放在不同车站。假定n个车站的编号分别为1~n,列车按照第n站至第1站的顺序停靠,车厢编号与目的站序号相同。为了到每个站时只需卸掉最后一节车厢,必须将任意次序的车厢进行重排,使得各车厢从前往后的编号是1~n。重排车厢的工作在一个转轨站里完成,如图所示,在转轨站中有一个入轨,一个出轨和k(k=3)个缓冲轨H1,H2,H3。开始时n节车厢从入轨处进入转轨站,转轨结束后车厢按编号1~n的次序离开转轨站。

编写程序模拟有n(n=9)节车厢的“入轨”和“出轨”过程,(入轨车厢次序满足缓冲轨为3的情况)。车厢可以从入轨的前部移动到一个缓冲轨的顶部或者是出轨处的后部。进入缓冲轨的车厢编号要满足:


①小于要进入的缓冲轨的栈顶元素编号。
②满足条件①里面栈顶元素编号最小的缓冲轨。
③若没有满足条件①的缓冲轨,则进入空的缓冲轨。

(1)若在入轨处的车厢次序是3,6,9,2,4,7,1,8,5,则2号车厢进入的缓冲轨是_____(填:H1或H2或H3)。
(2)实现上述功能的程序如下,请在划线处填入合适的代码。

def inputStack(bh,stacks,n): # 将车厢移到缓冲轨处

       global minNum, minStack,k

       bestStack = -1 # bestStack 记录最小车厢编号所在的缓冲轨编号

       bestTop = n + 1 # bestTop 记录缓冲轨中的最小车厢编号

       for i in range(k):

             if len(stacks[i])>0:

                    top = stacks[i][-1]

                    if ______ :

                           bestTop = top

                           bestStack = i

                    else:

                           if bestStack == -1:

                                 bestStack = i

       if bestStack == -1:

             return False

       stacks[bestStack].append(bh)

       print('将 %d 号车厢从入轨处移到缓冲轨道 H%d 处。' % (bh, bestStack+1))

       if bh < minNum:

             minNum = bh

             minStack = bestStack

       return True

def output(stacks,n):

       # 将缓冲轨中的剩余车厢按顺序依次移到出轨处,代码略

# 主程序开始

list = [3,6,9,2,4,7,1,8,5] #车厢的原始编号存放在列表 list 中

n = len(list)

k = 3

hStacks=[ _______ for i in range(k)]

curBH=1

minStack = -1

print("车厢重排过程如下:")

i=0

while i < n:

       if list[i] == curBH:

             print("将 %d 号车厢从入轨处直接移到出轨处。" % list[i])

________

             i += 1

             continue

       while True:

             minNum = n + 1

             for j in range(k):

                    if len(hStacks[j]) > 0:

                           if hStacks[j][-1] < minNum:

                                 minNum = hStacks[j][-1]

                                 minStack=j

             if minNum == curBH:

                    print("将%d号车厢从缓冲轨道H%d移到出轨处。" %(minNum,minStack+1))

                    hStacks[minStack].pop()

                    curBH += 1

             else:

_____

                    i += 1; break

while curBH<n+1:

       output(hStacks,n); curBH += 1

print("完成车厢重排!")

类型:操作题
难度系数:较难0.4
收藏
纠错
详情
小明利用“在线社团报名系统”收集了全校学生的社团报名信息,并将报名数据导出到“社团报名.xlsx”中,如图 1 所示。然后编写 Python 程序对报名数据进行处理,生成分别以班级名和社团名为文件名的 Excel 文件,以便分发给相应的社团指导老师和班主任。

图 1

图 2

(1)在对表格进行数据整理时发现,关于“Jacky.Y” 同学的记录可能存在的数据问题是_______(选填:A .数据缺失 B .数据异常 C .逻辑错误 D .数据格式不一致)。
(2)其中生成每个社团名单文件的过程是:先对报名数据按社团名称进行分类,并对选报同一社团的学生按班级进行升序排序,然后生成各个社团名单文件,如图 2所示。对应的程序代码如下,请在划线处填写合适的代码。

import pandas as pd

def read_file(filename):

       #读入报名数据的原始文件,并将表中的数据转换成列表,代码略

def save_file(a): #保存名单到相应社团的 Excel 电子表格文件

       df = pd.DataFrame(a,columns=[“班级”,“姓名”,“选报社团”])

       df.to_excel(              ) +“.xlsx”,index=False)

a = read_file(“社团报名.xlsx”)

n = len(a)

# 按社团名(参照拼音的字母顺序)进行升序排序,代码略

# 统计各社团人数,存在列表 rs 中,rs=[[“滑板社”,36],…],代码略

s = 0

for i in range(len(rs)):

_______

       left,right = s, s+num-1

       while left < right:

             imin = imax = left

             for k in range(left+1,right+1):

                    if a[k][0] < a[imax][0]:

                           imin = k

                    elif a[k][0] > a[imax][0]:

                           imax = k

             if imin != left:

                    a[imin],a[left] = a[left],a[imin]

             if imax == left:

______

             if imax != right:

                    a[imax],a[right] = a[right],a[imax]

             left = left + 1; right = right–1

____

s += num

类型:操作题
难度系数:较难0.4
收藏
纠错
详情
某音乐平台可以为用户推荐歌曲, 推荐歌曲的算法如下:
第1步,系统根据用户的听歌行为,使用-2~5进行量化,单曲循环=5,分享=4,收藏=3,主动播放=2,听完=1,未听=0,跳过=-1,拉黑=-2,量化值大于0表示喜欢,建立如图a数据。

图 a


第2步,分别计算待推荐用户与其他每位用户的听歌相似度(相似度=两用户同时喜欢的歌曲数/两用户中至少有一人喜欢的歌曲数)。
第3步,分别计算其他用户对每一首歌曲的推荐度(推荐度=某用户该歌曲的量化值*两用户的相似度)。
第4步,在其他用户所有量化值大于0的歌曲中找到推荐度最高的,且待推荐用户没有听过的歌曲,推荐给该用户。
小明用Python程序模拟了此推荐算法,请回答下列问题。
(1)在图a所示的10首歌曲中,“yigoo”与“lucky”两用户的相似度为_______。 (四舍五入保留两位小数)
(2)实现上述功能的Python程序如下,运行结果如图b所示,请在划线处填上合适的代码。

图b                                        图 c

def find(name,user):

#代码略

def simalar(music,data,k):        #计算相似度

       xsd=[0]*len(data)

       for i in range(len(data)):

             ms1=ms2=0

             for j in range(len(music)):

                    if k!=i:

                           if data[k][j]>0 and data[i][j]>0:

                                 ms1+=1

                           if _______ :

                                 ms2+=1

             if ms2>0:

                    xsd[i]= ms1/ms2

       return xsd

music=["《孤勇者》 ","《Hug me》","《后会无期》 ","《NUNA》","《蜗牛》 "," 《心墙》 ","《对你说》 ","《与天齐》 ","《栀子花开》"," 《风吹半夏》"]

user=["HelloK","sime32","yigoo","lucky", "halibo","baby","HaiT","bao_66"] #读取听歌行为的量化数据存入data列表,如图c所示

name=input("请输入您的用户名:")

k=find(name,user)                  #调用 find 函数返回该用户在 data 列表中的索引号

xsd=simalar(music,data,k)        #xsd[0]表示 0 号用户与 k 号待推荐用户的相似度

maxm=0

for i in range(len(data)):

       for j in range(len(music)):

             if data[k][j]==0 and data[i][j]>0:

                    like=___________

                    if like>maxm:

                           maxm=like

                           p=j

print("为您推荐的歌曲是:", _________)

类型:操作题
难度系数:较难0.4
收藏
纠错
详情
有图像如图a所示,用以下算法记录图像的像素点分布。先将像素的颜色值进行调整,使之成为一幅黑白图像(如图b所示),再将黑白图像中像素点(0表示黑色,1表示白色)分布以列表形式存储,如[2310,321,1230……]表示先有231个连续的黑色像素,再接着是32个连续的白色像素,再接着是123个连续的黑色像素……,列表中部分数据如图c所示。

图 a

图b

图 c

实现上述功能的Python代码如下:

#导入库, 代码略

img=np.array(Image.open ("hz.png").convert("L"))            #将图像转换为二维矩阵

rows,cols=img.shape                 #图像尺寸分别赋值,rows表示行数,cols表示列数

for i in range(rows):

       for j in range(cols):

             if img[i,j]>180:        #0~255表示256级灰度值,0表示黑色,255表示白色

                    img[i,j]=1

             else:

                    img[i,j]=0

plt.imshow(img,cmap="gray")       #显示灰度图像

plt.show ()     #弹出包含了图片的窗口

c=img[0,0]; cnt=0; ys=[]

for i in range(rows):

       for j in range(cols):

             if img[i,j]==c:

                    ______

             else:

                    ys.append(cnt*10+c)

                    cnt=1

ys.append(cnt*10+c)

print(ys)


(1)由程序代码可知,对图像的记录方式采用___(填字母: A .逐行记录/B .逐列记录 /C .随机记录) 。
(2)若得到图d颜色加深的图像,则划波浪线处代码应修改为(      )(单选)

图 d

A.img[i,j]>210       B.img[i,j]>140       C.img[i,j]<140             D.img[i,j]<210


(3)在横线处填上合适的代码。_______
(4)程序加框处代码有错,请改正。 _______
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
如下图VB应用程序界面所示,下列关于类与对象的说法正确的是_______。
A.图中有5个对象,分别属于3个不同的类
B.图中计算1、Text1等字符为类的名称
C.图中有6个对象,分别属于4个不同的类
D.图中计算1、Text1等字符为对象的名称
类型:选择题
难度系数:较难0.4
收藏
纠错
详情
有如下Python程序段:

n=int(input())

a=1;q=[0]*100;two=three=rear=0;q[0]=a

while rear!=n:

       if(2*q[two]+1>3*q[three]+1):

             rear+=1

             q[rear]=3*q[three]+1

             three+=1

       elif(2*q[two]+1<3*q[three]+1):

             rear+=1

             q[rear]=2*q[two]+1

             two+=1

       else:

             rear+=1

             q[rear]=3*q[three]+1

             two+=1;three+=1


运行上述程序段后,如果输入10,则q[n]的值是(  )
A.15B.22C.27D.31
类型:选择题
难度系数:较难0.4
收藏
纠错
详情
要向可容纳88966名观众的卢赛尔球场派送外卖是一项艰巨的任务,为了方便外卖派送,将球场观众席划分为A、B、C、D、E、F、G、H等8个区。派单平台可以根据各区域订单数量安排派送人员,以提高外卖派送效率(一个派送人员只安排一个区域),平台根据订单总量与空闲派送人员数量计算人均派单量,按平均派单数计算各区域所需派送人员。但按此方法分配派送人员,人员总数可能超过空闲派送人员数,则删除超额派送人数。删除规则如下:每个有订单的区域至少保留一个派送人员;每个区域最多减去一个派送人员,优先删除派单尾数最少的区域中的派送人员;如果派单尾数相同,则在分配到派送人员数最多的区域中去掉一个派单人员。例如:A~H区域的订单数量分别为[468,329,392,247,38,180,263,82],此时空闲派单人员数为30人,人均派单数为67,则各区域分配的派单人员数量分别为7、5、6、4、1、3、4、2,合计32个派送人员,需减掉2个超额派送人员,即从D区和H区派送人员中各减去1个。如下表所示:

(1)数据如上表所示,如果 F 区退掉2份订单,重新计算并分配派送人员(整体调整),F区派送人员的人均派单量是_______
(2)实现上述功能的Python程序如下,请在画线处填写正确的代码。
#从数据库中读取各订单所在区域,如a=[‘A’,‘B’,‘H’,‘F’, … …]

qyn=8

#区域数量

psryn=30

#配送人员数量

rs=round(len(a)/psryn)

b=[]

for i in range(qyn):

       c=chr(i+65)               # “A”的Ascii码值是65

       b.append([c,0,0])       #生成二维列表b=[[‘A’,0,0],[‘B’,0,0]……]

for i in a:

________       #统计各区域订单数量

s=0

for i in range(qyn):

__________

       If b[i][1]%rs!=0:

             b[i][2]+=1

       s+=b[i][2]

k=s-psryn

i=0

while k>0:

       for j in range(qyn-1,i,-1):

__________:

               b[j-1],b[j]=b[j],b[j-1] q

       if b[i][2]>1:

             b[i][2]-=1

             k-=1

       i+=1


(3)若程序中语句“s+=b[i][2]”缩进到了“if b[i][1]%rs!=0:”模块内,题中所给的样例数据运行结果____(是/否)受到影响,将样例“E”区订单数量38修改为_______能测出程序存在的问题。
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
某字符串加密程序,其功能是:输入一个仅由小写英文字母组成的字符串,输出加密后的密文,加密规则如下所述:
①将明文字符串分成3个字符一组,对每组字符进行②③处理,剩余不足3个的字符不做处理。
②随机产生由26个不重复的小写英文字母组成的密文串,将明文中的每组字符分别替换为密文串中对应的字符,若密文串如表1所示,则明文“abcdefghijkl”替换为“jpgntkwmaery”。
小写字母abcdefghijklmnopqrstuvwxyz
密文串jpgntkwmaeryldcqfixuhzbovs
表 1
③输入一串数字密钥(由1~9数字组成),密钥中每个数字依次为每组字符向右旋转次数,若密钥长度不足,则重复使用密钥,数字与对应旋转次数见表2。例如,数字密钥为“45”,则将第1组字符向右旋转1次,如“jpg”>“gjp”,将第2组字符向右旋转2次,如“ntk”>“knt”>“tkn”,第3组字符向右旋转1次,第4组字符向右旋转2次,依次类推。
表 2
数字123456789
旋转次数123123123
④将每组处理后的字符串顺序连接, 每组之间用“*”作为间隔符号,再将分组剩余的字符倒序连接,得到密文。
程序运行结果如下:

(1)若明文为“abc”,随机产生的密文串如图所示,数字密钥为“13”,则密文为________
(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。
def jmdic():          #随机生成由26 个不重复的小写英文字母组成的密文串
#返回密文字符串,代码略
def rotate(array,k):   #旋转

for i in range(k):

temp=array[len(array)-1]

for j in range(          )

array[j+1]=array[j]

array[0]=temp


ming=input("请输入明文:")
mkey=input("请输入一串数字密钥: ")
n=len(ming);m=len(mkey)
a=[]
dic=jmdic()
print("26 个小写字母对应的密文串:",dic)
for i in range(n//3):        #对每组字符进行处理

a.append([])   #append():在列表末尾添加元素

for j in range(3):

a[i].append( dic[] )

keynum= ________

k=(keynum-1)%3+1

rotate(a[i],k)


ans=""
for i in range(n//3): #将每组字符进行连接

for j in range(3):

________

ans+="*"*(i+1)


ans=ming[i*3+3:]+ans
print("密文为: ",ans)
(3)加框处代码有错,请更正________
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
首页
上一页
下一页
尾页