题库首页 › 青少年软件编程(Python) › 题目 6505

某班“天天向上”小组共有6个同学,姓名和身高数据分别存放在列表a中,编写程序实现小组同学按身高从高到低输出名单,运行结果如图所示: 程序代码如下,请在划线处补充完整: a=[["李洪全",135],["王倩倩",154],["吴乐天",148],["周立新",165],["鲁正",158],["杨颖颖",150]] for i in range(1,len(a)): for j in range(0, ① ): if a[j][1] ② a[j+1][1]: a[j],a[j+1]=a[j+1],a[j] print("小组名单是:") for i in range(len(a)): print( ③ )

某班“天天向上”小组共有6个同学,姓名和身高数据分别存放在列 题目配图

正确答案:①len(a)-i-1 ②< ③a[i][0]

答案解析

评分标准:
(1)len(a)-i;(4分)
(2)<;(3分)
(3)a[i][0]。(3分)
本题考查冒泡排序算法。从外循环看,6个元素排5趟,应该能全部排整齐。内循环每趟主要从第一个元素开始,相邻元素两两相比,i=1时,j最终取到4,i=2时,j最终取到3,i=3时,j最终取到2,i=2时,j最终取到1,i=1时,j最终取到0,由于range()的终值是取不到的,故第一空应填len(a)-i;根据题目从高到低的要求,若前一个数小于后一个数,则应将其往后移,故第二空应为”<”;由输出结果观察可知,只需要输出排序后列表中的姓名部分,故第三空应填a[i][0]。

试卷来源:202305 青少年软件编程等级考试Python三级真题

本卷相关题目

在线做题 同科目题库