刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

工厂有一台检测设备用于检测器件,各个器件在不完全相同时刻送达,且检测时长各有不同。现在要按器件的送达时间(若送达时间相同则按检测时长)进行排序后再送检,送达时间和检测时间都是按升序排序。已知各个器件原始信息存在列表qj中:qj=[[2,1],[1,3],[0,2],[4,3],[12,4],[10,1],[4,1]],其中器件信息[2,1]表示器件送达时间是2,检测时长是1,其他器件信息类推。现在编写Python程序对各个器件进行排序,并重新输出。排序后的器件列表如下,请你在划线处完善程序:




qj=[[2,1],[1,3],[0,2],[4,3],[12,4],[10,1],[4,1]]


for i in range(len(qj)-1):


for j in range(0, ① ):


if ② or (qj[j][0]==qj[j+1][0]and ③ ):


qj[j],qj[j+1]=qj[j+1],qj[j]


print( ④ )

使用微信搜索喵呜刷题,轻松应对考试!

答案:

参考程序:

qj=[[2,1],[1,3],[0,2],[4,3],[12,4],[10,1],[4,1]]

for i in range(len(qj)-1):

for j in range(0,len(qj)-1-i):

if **qj[j][0]>qj[j+1][0]**or qj[j][0]==qj[j+1][0]and qj[j][1]>qj[j+1][1]:

qj[j],qj[j+1]=qj[j+1],qj[j]

print(qj)

①本题考查的是对二维列表进行冒泡排序。外循环控制排序趟数,内循环控制排序比较的次数以及比较的起止位。外循环变量i从0开始,内循环变量j从0开始,显然终值是len(qj)-1-i,比较过程从前往后两两相比。因此①处填写的步长应为len(qj)-1-i; ②根据题目意思,比较依据先是送达时间(从小到大),若相同则比较检测时长,因此②处表达的应该是相邻两个器件的送达时间相比,从交换语句来看第j项被交换至j+1项,从而判定②处答案为qj[j][0]>qj[j+1][0]; ③qj[j][0]表示送达时间,qj[j][1]则表示的是检测时长,从qj[j][0]==qj[j+1][0]可知此处表示送达时间相同的情况下满足何种条件第j项会和第j-1项交换,显然要比的是检测时间,故而③处填写qj[j][1]>qj[j+1][1]。 ④根据题意,最后需要输出排序后的器件列表,因此④处填写的器件列表名称qj。

解析:

【喵呜刷题小喵解析】:本题考查的是对二维列表进行冒泡排序。外循环控制排序趟数,内循环控制排序比较的次数以及比较的起止位。外循环变量i从0开始,内循环变量j从0开始,显然终值是len(qj)-1-i,比较过程从前往后两两相比。首先,根据题目要求,我们需要对器件列表`qj`进行排序,排序依据是器件的送达时间(若送达时间相同则按检测时长)。因此,我们需要编写一个冒泡排序算法来实现这个排序。在冒泡排序中,外循环控制排序趟数,内循环控制排序比较的次数以及比较的起止位。外循环变量i从0开始,内循环变量j从0开始,显然终值是len(qj)-1-i,比较过程从前往后两两相比。在内循环中,我们需要比较相邻两个器件的送达时间和检测时长。如果前一个器件的送达时间大于后一个器件的送达时间,或者两个器件的送达时间相同但前一个器件的检测时长大于后一个器件的检测时长,我们就交换这两个器件的位置。最后,我们需要输出排序后的器件列表`qj`。根据以上分析,我们可以得到以下代码:```pythonqj=[[2,1],[1,3],[0,2],[4,3],[12,4],[10,1],[4,1]]for i in range(len(qj)-1):for j in range(0, len(qj)-1-i):if qj[j][0]>qj[j+1][0] or qj[j][0]==qj[j+1][0] and qj[j][1]>qj[j+1][1]:qj[j],qj[j+1]=qj[j+1],qj[j]print(qj)```在这个代码中,我们使用了冒泡排序算法对器件列表`qj`进行了排序,排序依据是器件的送达时间和检测时长。最后,我们输出了排序后的器件列表`qj`。
创作类型:
原创

本文链接:工厂有一台检测设备用于检测器件,各个器件在不完全相同时刻送达,且检测时长各有不同。现在要按器件的送达

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share