某校为了响应双减政策每周加设了一节体育选修课程,为了便于学校师资安排及课程的开设。需要对学生选课需求进行摸排。学校可以开设的课程共9门,在前期选课时学生可以选择自己喜欢的3门课程,选课信息已保存在文本文件中(课程名称用数字1~9表示),最终每个学生只安排1门课程学习。为了统计每门课程的选课人数及同选最多的两门课程,编写了以下程序。
所谓“同选”是指学生在3门课的选择中最喜欢一起选的两门课,比如A同学选了124,B同学选
了 134,则同选最多的两门课为 14。请回答以下问题:
(1)该程序先将文本文件的选课数据读取并保存到列表 xk 中,文本文件及读取到列表后部分数据如图所示,则该列表数据项的数据结构是 列表列表(选填:字符串/列表/字典),数据项中的数据元素(如‘5’)的数据类型是 字符串型字符串型(选填:整型/实型/字符串型)


(2)程序运行结果如图所示,补充完整横线处的代码

course=[“排球“,“篮球“,“足球“,“羽毛球“,“乒乓球“,“网球“,“健身操”,“游泳”,“太极”]
xk=[]#存储选课信息,用数字1~9表示9门课程
f=[0]*9#存储9门课程的选课人数
d=[0]*100#存储两门课程同选的次数,如d[26]=50表示篮球和网球被 50个同学同选
def relation(y):#计算列表y中各数据项的同选次数
for i in range(1,10):
for j in range(i+1,10):
if str(i) in y and str(i) in y:#课程i,j均在列表y中出现
d[10*i+j]+=1#第i和第j门课程同选次数加1存储在列表d中
file=open(“xk.jye.ai“,“r“)#打开文件
line=file.readline ( )
while line:
line=line.jye.ai ( )#以空格切开,得到的结果是字符串元素,再组合成列表数据样式详见第(1)小题图所示xk.append(line)
line=file.readline ( )
file.jye.ai ( )
for y in xk:#对列表xk中的各数据项进行处理
relation(y)#调用定义函数统计y中各门课程同选次数,存储到列表d中
for x in y:#遍历数据项y中的元素,统计每门课程的选课人数
①
for i in range(9):
print(course[1),“选课人数:“,②,“人“)#输出每门课程的选课人数
maxd=max(d)
print(“同选最多的两门课程是:“)
for k in range(100):
if d[k]==maxd:
print(course[k//10-1],③ )#根据列表d的索引计算两门同选课程索引
【考点】设计应用程序的界面.
【答案】列表;字符串型
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/6/27 10:35:59组卷:3引用:1难度:0.3
相似题
-
1.有如下VB程序段:
在文本框Text 1中输入“985-3+-”,执行该程序段后,文本框Text2中显示的值为( )发布:2025/1/2 11:0:1组卷:1引用:1难度:0.4 -
2.某 vb 工程的代码窗口如图所示,则下列说法正确的是( )
发布:2025/1/2 11:0:1组卷:0引用:1难度:0.4 -
3.小李编写了按奇数位数字升序和偶数位数字降序排列的 VB 程序,功能如下:程序运行时,在标签 Label1 中显示排序前的数字,单击“排序”按钮,在标签 Label2 中输出排序的结果,运行界面如图所示。
实现上述功能的 VB 程序如下。
(1)根据程序代码,窗体中显示“排序”文字的按钮对象名称为_____。
(2)程序代码中,加框处代码有错,请改正。
(3)程序代码中,将 Label2.Caption 赋值语句补充完整。
(4)程序代码中,与下划线语句 i Mod 2=0 功能相同的是_____ (单选,填字母:A.j Mod2=1/B.(i+j) Mod 2=0/C.k<>i)发布:2025/1/2 11:0:1组卷:0引用:1难度:0.9