某校為了響應(yīng)雙減政策每周加設(shè)了一節(jié)體育選修課程,為了便于學(xué)校師資安排及課程的開設(shè)。需要對學(xué)生選課需求進行摸排。學(xué)??梢蚤_設(shè)的課程共9門,在前期選課時學(xué)生可以選擇自己喜歡的3門課程,選課信息已保存在文本文件中(課程名稱用數(shù)字1~9表示),最終每個學(xué)生只安排1門課程學(xué)習。為了統(tǒng)計每門課程的選課人數(shù)及同選最多的兩門課程,編寫了以下程序。
所謂“同選”是指學(xué)生在3門課的選擇中最喜歡一起選的兩門課,比如A同學(xué)選了124,B同學(xué)選
了 134,則同選最多的兩門課為 14。請回答以下問題:
(1)該程序先將文本文件的選課數(shù)據(jù)讀取并保存到列表 xk 中,文本文件及讀取到列表后部分數(shù)據(jù)如圖所示,則該列表數(shù)據(jù)項的數(shù)據(jù)結(jié)構(gòu)是 列表列表(選填:字符串/列表/字典),數(shù)據(jù)項中的數(shù)據(jù)元素(如‘5’)的數(shù)據(jù)類型是 字符串型字符串型(選填:整型/實型/字符串型)
(2)程序運行結(jié)果如圖所示,補充完整橫線處的代碼
course=[“排球“,“籃球“,“足球“,“羽毛球“,“乒乓球“,“網(wǎng)球“,“健身操”,“游泳”,“太極”]
xk=[]#存儲選課信息,用數(shù)字1~9表示9門課程
f=[0]*9#存儲9門課程的選課人數(shù)
d=[0]*100#存儲兩門課程同選的次數(shù),如d[26]=50表示籃球和網(wǎng)球被 50個同學(xué)同選
def relation(y):#計算列表y中各數(shù)據(jù)項的同選次數(shù)
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中出現(xiàn)
d[10*i+j]+=1#第i和第j門課程同選次數(shù)加1存儲在列表d中
file=open(“xk.jye.ai“,“r“)#打開文件
line=file.readline ( ?。?br />while line:
line=line.jye.ai ( ?。?以空格切開,得到的結(jié)果是字符串元素,再組合成列表數(shù)據(jù)樣式詳見第(1)小題圖所示xk.append(line)
line=file.readline ( ?。?br />file.jye.ai ( )
for y in xk:#對列表xk中的各數(shù)據(jù)項進行處理
relation(y)#調(diào)用定義函數(shù)統(tǒng)計y中各門課程同選次數(shù),存儲到列表d中
for x in y:#遍歷數(shù)據(jù)項y中的元素,統(tǒng)計每門課程的選課人數(shù)
①
for i in range(9):
print(course[1),“選課人數(shù):“,②,“人“)#輸出每門課程的選課人數(shù)
maxd=max(d)
print(“同選最多的兩門課程是:“)
for k in range(100):
if d[k]==maxd:
print(course[k//10-1],③ )#根據(jù)列表d的索引計算兩門同選課程索引
【考點】設(shè)計應(yīng)用程序的界面.
【答案】列表;字符串型
【解答】
【點評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:3引用:1難度:0.3
相似題
-
1.有如下VB程序段:
在文本框Text 1中輸入“985-3+-”,執(zhí)行該程序段后,文本框Text2中顯示的值為( )發(fā)布:2025/1/2 11:0:1組卷:1引用:1難度:0.4 -
2.某 vb 工程的代碼窗口如圖所示,則下列說法正確的是( ?。?br />
發(fā)布:2025/1/2 11:0:1組卷:0引用:1難度:0.4 -
3.小李編寫了按奇數(shù)位數(shù)字升序和偶數(shù)位數(shù)字降序排列的 VB 程序,功能如下:程序運行時,在標簽 Label1 中顯示排序前的數(shù)字,單擊“排序”按鈕,在標簽 Label2 中輸出排序的結(jié)果,運行界面如圖所示。
實現(xiàn)上述功能的 VB 程序如下。
(1)根據(jù)程序代碼,窗體中顯示“排序”文字的按鈕對象名稱為_____。
(2)程序代碼中,加框處代碼有錯,請改正。
(3)程序代碼中,將 Label2.Caption 賦值語句補充完整。
(4)程序代碼中,與下劃線語句 i Mod 2=0 功能相同的是_____ (單選,填字母:A.j Mod2=1/B.(i+j) Mod 2=0/C.k<>i)發(fā)布:2025/1/2 11:0:1組卷:0引用:1難度:0.9
把好題分享給你的好友吧~~