中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

浙江省寧波市九校2022-2023學年高一下學期期末聯考技術試題 Word版含解析

資源下載
  1. 二一教育資源

浙江省寧波市九校2022-2023學年高一下學期期末聯考技術試題 Word版含解析

資源簡介

絕密考試結束前
寧波市2022學年第二學期期末九校聯考高一技術試題
考生須知:
1.本試卷分兩部分,第一部分信息技術,第二部分通用技術。滿分100分,考試時間90分鐘。
2.考生答題前,務必將自己的姓名、準考證號用黑色字跡的簽字筆或鋼筆填寫在答題紙上。
3.選擇題的答案用2B鉛筆將答題紙上對應題目的答案選項涂黑。
4.非選擇題的答案用黑色字跡的簽字筆或鋼筆寫在答題紙上相應區域內,作圖時可先使用2B鉛筆,確定后用黑色字跡的簽字筆或鋼筆描黑,答案寫在非答題紙上無效。
第一部分:信息技術(共50分)
一、選擇題(本大題共12小題,每小題2分,共24分。每小題列出的備選項中只有一個是符合題目要求的,不選、多選、錯選均不得分)
1. 下列關于數據、信息的說法,正確的是( )
A. 數據就是指各種數字 B. 古代沒有數據
C. 信息可以脫離載體進行傳播 D. 信息的價值會隨著時間的推移發生改變
【答案】D
【解析】
【詳解】本題考查的是數據、信息相關知識。數據是客觀世界符號化表示,可以是圖形、文字、音頻等;自從有了人類就有了數據;信息不可以脫離載體進行傳播。故本題應選D。
2. 下列關于數據編碼、安全的說法,不正確的是( )
A. 計算機中保存圖像和聲音數據必須經過數字化
B. 已知字符“1”的ASCII碼值為49D,由此可知字符“2”的ASCII碼值為4AH
C. 保護數據的安全包含保護數據本身及存儲數據介質的安全
D. 數據加密、數據校驗可以提高數據的保密性和完整性
【答案】B
【解析】
【詳解】本題考查的是數據編碼。已知字符“1”的ASCII碼值為49D,由此可知字符“2”的ASCII碼值為50D轉換為十六進制數為:32H,故選項B說法錯誤。
3. ChatGPT是一款聊天機器人程序。ChatGPT不單是聊天機器人,還能進行撰寫郵件、視頻腳本、文案、翻譯、代碼等任務。它使用了Transformer神經網絡架構,這是一種用于處理序列數據的模型,它會通過連接大量的語料庫來訓練模型,這些語料庫包含了真實世界中的對話,使得ChatGPT上知天文下知地理,還能具備根據聊天的上下文進行互動的能力,實現與真正人類幾乎無異的聊天場景。下列關于人工智能的說法,正確的是( )
A. ChatGPT屬于符號主義人工智能的應用
B. ChatGPT可以隨意使用,不需要擔心信息泄露的問題
C. 采用行為主義方法的智能體通過與環境的交互學習提升智能
D. 人工智能發展會取代人類所有職業,應禁止其發展
【答案】C
【解析】
【詳解】本題考查的是人工智能。ChatGPT不屬于符號主義人工智能的應用;ChatGPT的使用,需要擔心信息泄露的問題;人工智能發展并不會取代人類所有職業。故本題應選C。
4. ChatGPT是一款聊天機器人程序。ChatGPT不單是聊天機器人,還能進行撰寫郵件、視頻腳本、文案、翻譯、代碼等任務。它使用了Transformer神經網絡架構,這是一種用于處理序列數據的模型,它會通過連接大量的語料庫來訓練模型,這些語料庫包含了真實世界中的對話,使得ChatGPT上知天文下知地理,還能具備根據聊天的上下文進行互動的能力,實現與真正人類幾乎無異的聊天場景。下列關于大數據的說法,正確的是( )
A. 利用大量的語料庫訓練模型需要大數據的支持
B. ChatGPT的語料庫因數據體量大,只能抽樣處理
C. 語料數據中蘊含著巨大的價值,其價值密度高
D. Hadoop 適用于實時數據的流計算
【答案】A
【解析】
【詳解】本題主要考查大數據的描述。利用大量的語料庫訓練模型需要大數據的支持;ChatGPT的語料庫處理全體數據;語料數據中蘊含著巨大的價值,當其價值密度低;Hadoop面向大規模的批量處理,適用于處理靜態數據,不適用于流數據,故本題選A選項。
5. 下列關于數據處理與應用的說法,正確的是( )
A. 采集數據不能通過人工的方法采集
B. 采集數據后均可直接對采集到的數據進行處理和分析
C. 只能使用計算機程序語言編程進行數據處理
D. 文本數據處理主要包括:分詞、特征提取、數據分析、結果呈現等
【答案】D
【解析】
【詳解】本題考查的是數據處理與應用。采集數據可以通過人工的方法采集;采集數據后要對數據進行整理后,進行數據處理和分析;人工也能對數據處理。故本題應選D。
6. 下列Python表達式中,計算結果與其他不同的選項是( )
A. 2%8+1 B. ord("201"[0:1])+1
C. round(1.6)*2-1 D. 23% 8 //2
【答案】B
【解析】
【詳解】本題主要考查Python表達式的運算。2%8+1=3;ord("201"[0:1])+1=50+1=51;round(1.6)*2-1=2*2-1=3;23% 8 //2=7//2=3,故本題選B選項。
7. 某算法的部分流程圖如右圖所示。執行這部分流程,依次輸入6,7,8,則輸出s時,s和a的值分別是( )
A. -1,1 B. 1,1 C. 7,-1 D. 8, -1
【答案】A
【解析】
【詳解】本題考查的是流程圖識讀。初始s=0,a=1。
輸入b=6,s<0不滿足,s=s+a*b=0+6=6,a=a*(-1)=-1;
輸入b=7,s<0不滿足,s=s+a*b=6-7=-1,a=a*(-1)=1;
輸入b=8,s<0滿足,輸出s=-1,a=1故本題應選A。
8. 有如下Python程序段:
import pandas as pd
data={'姓名':['小明','夏麗','晶晶','李華'],'語文':[90,66,80,78],'數學':[92,86,75,80]}
dfl=pd.DataFrame(data,columns=['姓名','語文','數學'])
df2=df1[df1.語文>=80]
ans=df2['數學'].mean()
執行該程序段后,ans的值為( )
A. 83 B. 83.5 C. 85 D. 92
【答案】B
【解析】
【詳解】本題考查的是Python數據處理。閱讀程序可知,ans是計算語文成績大于等于80分的同學的數學平均分。故ans=(92+75)/2=83.5,選項B正確。
9. 有如下Python程序段:
def x(a,b):
s=0
for i in range(a,b):
s+=i*(i+1)
return s
print (x(1,5))
執行該程序段后,輸出的值為( )
A. 40 B. 50 C. 60 D. 70
【答案】A
【解析】
【詳解】本題主要考查Python程序的執行。分析程序可知,x(1,5)=0+1*2+2*3+3*4+4*5=40,故本題選A選項。
10 有如下Python程序段:
s="D-3DLlLo02obbb";k="D"
for i in range(len(s)):
c=s[i]
if "a"<=c<="z":
c=chr (ord(c)-ord("a")+ord("A"))
if"A"<=c<="Z":
c=chr((ord(c)-ord("A")+1)%26+ord("A"))
if c!=k[-1]:
k=k+c
執行該程序段后,變量k的值為( )
A. EMP B. DEMP C. DEMPC D. DEEMMPPPCCC
【答案】C
【解析】
【詳解】本題主要考查Python程序的綜合應用。分析程序可知,第一個if判斷條件實現將小寫字母c變為大寫字母,第二個if判斷條件實現將c循環后移一位,此時如果c不等于字符串k最后一個字符,則執行k=k+c。第一個字母"D"→"E",k=k+c="DE";第二個字母"D"→"E"跳過;第三個字母"L"→"M",k=k+c="DEM";同理第四個字母"L"→"M"跳過;第五個字母"o"→"O"→"P",k=k+c="DEMP";第六個字母"o"→"O"→"P"跳過;第七個字母"b"→"B"→"C",k=k+c="DEMPC",同理最后兩個字母"b"跳過,故執行該程序段后,變量k的值為DEMPC,故本題選C選項。
11. 有如下Python程序段:
s="bbccbcc";key="bc";new="cb"
i=0
while i<=len (s)-len (key):
if s[i:i+len(key)]==key:
s=s[:i]+new+s[i+len(key):]
i=0
else:
i=i+1
執行該程序段后,變量s的值為( )
A. ccbbcbc B. cccbbbb C. ccccbbb D. ccccbbbb
【答案】C
【解析】
【詳解】本題考查的是Python循環語句。閱讀程序可知,該程序的功能是循環將字符串s中的字符"bc"替換成"cb",直到字符串中沒有"bc"。最終的結果是字符串s中前部分字符全為"c",后部分全為"b",替換過程不會增加每個字符的個數。故本題應選C。
12. 有如下Python程序段:
import random
n=random. randint (5,15)
i=0:a=[0]*10
while ij=0
a[j]=a[j]+1
while a[j]==3:
a[j]=0
j=j+1
a[j]=a[j]+1
i=i+1
執行該程序段后,列表a中元素之和為3,則n的值不可能是( )
A. 5 B. 7 C. 10 D. 13
【答案】C
【解析】
【詳解】本題主要考查Python程序的執行與調試。n=random. randint (5,15),變量n隨機生成5~15,當a[j]=3,此時賦值a[j]=0,j=j+1,a[j]=a[j]+1,外層循環每次執行時均賦值j=0。因此當n=5時,a=[2, 1, 0, 0, 0, 0, 0, 0, 0, 0];當n=7時,a=[1, 2, 0, 0, 0, 0, 0, 0, 0, 0];當n=10時,a=[1, 0, 1, 0, 0, 0, 0, 0, 0, 0];當n=13時,a=[1, 1, 1, 0, 0, 0, 0, 0, 0, 0]。執行該程序段后,列表a中元素之和為3,因此n的值不可能是10,故本題選C選項。
二、非選擇題(本大題共3小題,其中第13小題9分,第14小題8分,第15小題9分,共26分)
13. 小明收集了某2所學校的選課情況,對應科目值為1表示選課,為空表示未選。部分文件如圖a所示。
圖a
為統計分析各個學校的各個科目選課的情況,編寫Python程序。請回答下列問題:
(1)數據整理。已知前3列數據均沒有缺失,每個學生選課數量應該為3,小明想要查看是否有學生的選課數量不為3,若有則輸出該學生的學生編號。實現代碼如下,請在劃線處填入合適的代碼。
import pandas as pd
df1=pd.read_excel("1.xlsx")
df2=df1.T #將df1行列轉置后的結果賦值給df2
flag=True
for i in df2.columns:
if ①____.count()!=6:
s=df2.at["學生編號",i]
print("編號為",s,"的學生選課科目數量不為3!")
②__
if flag:
print("學生選課科目數量均為3!")
(2)若存在學生選課數量不為3的,則該數據存在的數據問題是_____(單選,填字母:A.數據重復B.異常數據C.邏輯錯誤)
(3)數據計算和可視化。小明將上述數據整理后,計算兩所學校各個科目選課人數占學校總人數的比例,繪制如圖b所示散點圖進行比較,部分Python程序如下,請在劃線處填入合適的代碼。
圖b
g=dfl.groupby("學校名稱").count()
km=["物理","化學","生物","政治","歷史","地理","技術"]
zb=[]
for i in g.index:
for j in g.columns[2:]:
a=g.at[i,j]/g.at[i,"姓名"]*100
______
plt.scatter(km,zb,label=i+"各科選課占比")
zb=[]
plt.title("兩所中學各科目選課占比比較")
plt. legend();plt. show()
(4)由圖可知選課比例最接近的科目是_______(選填:物理/化學/生物/政治/歷史/地理/技術)。
【答案】 ①. df2[i] ②. flag=False ③. C ④. zb.append(a) ⑤. 物理
【解析】
【詳解】本題考查的是Python數據處理。
(1)行列轉置后,判斷每列非空值是否為6(包含學生編號、學校名稱、姓名),如果不為6說明選課數量不為3,故第一空應為:df2[i];flag是學生選課科目數量均為3的標志,如果有人選課數量不為3,則要賦值為假,故第二空應為:flag=False。
(2)若存在學生選課數量不為3的,則該數據存在的數據問題是邏輯錯誤。
(3)zb存放每個學校各科選課占比,故劃線處填入合適的代碼為:zb.append(a)。
(4)由圖可知選課比例最接近的科目是物理。
14. 小王收集了某次考試成績(考試總分為100分),小王需要依據成績計算名次,按成績從高到低取,同分的人名次相同,若成績分別為94,95,94,93,92,則對應名次為2,1,2,4,5。小王編寫了如下程序,計算每人名次,程序運行前數據如圖a,運行后數據如圖b所示。
圖a 圖b
(1)主程序
kh,zf=readfile('score.txt')#讀入文件
mc=[] #存儲對應名次
a=[0]*
#a中存儲每個分數的個數,如a[90]為10,表示90分的人數個數為10個。
for i in zf:
a[i]=a[i]+1
for i in range(len(zf)):#計算每個分數對應的名次
m=js(zf[i],a);mc.append(m)
#保存為文件代碼略
根據題意,若將加框處改為100,否會影響程序正確運行_______(選填:是/否)
(2)讀取文本文件,如下的readfile函數,逐行讀取文本文件數據分別存入兩個列表中并返回,請在劃線處填入合適的代碼。
def readfile(filename):
f=open(filename,encoding='utf-8')
line=f.readline() #讀標題行
line=f.readline()#讀第一行數據
kh=[];zf=[] #kh存入考號,zf存入總分
while line:
s=line.split()#以空格為分隔符分割字符串,例“0128 92"變為[“0128","92”]
kh. append (s[0])
_________
line=f.readline()
return kh,zf
(3)計算分數x的名次并返回,如下的js函數,請在劃線處填入合適的代碼。
def js(x,a):
①__
for i in ②__
s+=a[i]
return s
【答案】 ①. 是 ②. zf. append (int (s[1])) ③. s=1 ④. range(x+1,101)或range(100,x,-1)
【解析】
【詳解】本題考查的是Python數據分析。
(1)a列表中存儲每個分數個數,考試總分為100分,從0~100共有101種分數,故若將加框處改為100,會影響程序正確運行。
(2)總分在列表s中第二個元素,而且是以字符串類型存儲。故劃線處代碼應為:zf. append (int (s[1]))。
(3)初始名次是從1開始,故第一空應為:s=1;計算分數x的名次,只要知道比分數x大的有幾人即可,所以循環序列從(x+1)~100,故第二空應為:range(x+1,101)或range(100,x,-1)。
15. 排隊。已有一個n*n的方陣,為快速整隊,使方陣變得整齊,有如下要求:
①整隊后按身高每行從左到右升序
②整隊時,可以讓學生離開使得該行按身高升序,但不能讓學生交換位置
③每行在符合要求的情況下,保持人數最多
④最后根據各個行的人數,尋找值i,人數大于等于i的行的數量大于等于i,i盡量大,組成一個i*i的最大方陣。
小明編寫程序,按要求確定每行的最長長度,再尋找值i,并輸出組成的最大方陣i*i的大小。方陣的身高數據已按每行存儲在和代碼文件同一個位置的“身高.csv”文件中,如圖a所示數據,運行后結果如圖b。
(1)若數據如圖c所示,程序運行后輸出:組成的最大方陣大小為_______
(2)實現上述功能的Python程序如下,請在劃線處填入合適的代碼。
(3)加框處代碼有誤,請改正。_______
def readfile(filename):#讀取文件
f=open (filename,encoding='utf-8')
line=f.readline();t=[]
while line:
’’’代碼l將line以逗號為分隔符分割,并將里面的每個元素轉換為整型代碼2將a轉換為列表,例如1ine="156,167,182”,運行上述代碼1,2后存入a的為[156,167,182]’’’
a=map(int,line.split(",")) #代碼1
a=list(a) #代碼2
t.append (a); line=f. readline()
return t
def max_cd(i,b,k): #計算k中到索引i處為止的最長升序序列的元素個數并返回
for j in range(i-l.-1,-1):#枚舉索引i的元素放在索引 0-i-1哪個元素之后最優
if:
b[i]=b[j]+1
return b[i]
t= ①___#讀取文件
c=[]
for k in t:
b={} #b中鍵為索引,值表示在列表k中到該索引為止最長升序序列的元素個數
Max=0
for i in range(len(k)):#b中鍵值對賦初值
②__
for i in range(len(k)):
b[i]=max_cd(i, b,k)
if b[i]>Max:
Max=b[i]
c. append (Max)
for i in range (len(t),0,-1):
count=0
for j in c:
if j>=i:
count+=1
if count>=i:
③___
print("組成的最大方陣大小為”,i,"*",i)
【答案】 ①. 3*3 ②. k[i]>k[j]and b[i]<=b[j] ③. readfile("身高.csv") ④. b[i]=1 ⑤. break
【解析】
【詳解】本題主要考查Python程序的綜合應用。
(1)根據題干要求,第一行整理完:157、168、168、169,第二行整理完:154、166、169,第三行整理完:151、161、185,第四行整理完:176、177、181,第五行整理完:156、167,因此組成的最大方陣大小為3*3。
(2)讀取該excel文件,調用readfile函數,故第一空填readfile("身高.csv")。b中鍵為索引,值表示在列表k中到該索引為止最長升序序列的元素個數。第二空b中鍵值對賦初值為1,故填b[i]=1。變量count統計有多少行最長升序序列的元素個數大于等于i,如果count>=i,說明組成的最大方陣大小為i*i,則執行break結束循環,故第三空填break。
(3)max_cd(i,b,k)函數計算k中到索引i處為止的最長升序序列的元素個數并返回。此處for循環實現枚舉索引i的元素放在索引 0-i-1哪個元素之后最優。執行b[i]=b[j]+1的條件是,k[i]k[j]and b[i]<=b[j]。絕密考試結束前
寧波市2022學年第二學期期末九校聯考高一技術試題
考生須知:
1.本試卷分兩部分,第一部分信息技術,第二部分通用技術。滿分100分,考試時間90分鐘。
2.考生答題前,務必將自己的姓名、準考證號用黑色字跡的簽字筆或鋼筆填寫在答題紙上。
3.選擇題的答案用2B鉛筆將答題紙上對應題目的答案選項涂黑。
4.非選擇題的答案用黑色字跡的簽字筆或鋼筆寫在答題紙上相應區域內,作圖時可先使用2B鉛筆,確定后用黑色字跡的簽字筆或鋼筆描黑,答案寫在非答題紙上無效。
第一部分:信息技術(共50分)
一、選擇題(本大題共12小題,每小題2分,共24分。每小題列出的備選項中只有一個是符合題目要求的,不選、多選、錯選均不得分)
1. 下列關于數據、信息的說法,正確的是( )
A. 數據就是指各種數字 B. 古代沒有數據
C. 信息可以脫離載體進行傳播 D. 信息的價值會隨著時間的推移發生改變
2. 下列關于數據編碼、安全的說法,不正確的是( )
A. 計算機中保存圖像和聲音數據必須經過數字化
B. 已知字符“1”的ASCII碼值為49D,由此可知字符“2”的ASCII碼值為4AH
C. 保護數據的安全包含保護數據本身及存儲數據介質的安全
D. 數據加密、數據校驗可以提高數據的保密性和完整性
3. ChatGPT是一款聊天機器人程序。ChatGPT不單是聊天機器人,還能進行撰寫郵件、視頻腳本、文案、翻譯、代碼等任務。它使用了Transformer神經網絡架構,這是一種用于處理序列數據的模型,它會通過連接大量的語料庫來訓練模型,這些語料庫包含了真實世界中的對話,使得ChatGPT上知天文下知地理,還能具備根據聊天的上下文進行互動的能力,實現與真正人類幾乎無異的聊天場景。下列關于人工智能的說法,正確的是( )
A. ChatGPT屬于符號主義人工智能的應用
B. ChatGPT可以隨意使用,不需要擔心信息泄露的問題
C. 采用行為主義方法的智能體通過與環境的交互學習提升智能
D. 人工智能發展會取代人類所有職業,應禁止其發展
4. ChatGPT是一款聊天機器人程序。ChatGPT不單是聊天機器人,還能進行撰寫郵件、視頻腳本、文案、翻譯、代碼等任務。它使用了Transformer神經網絡架構,這是一種用于處理序列數據的模型,它會通過連接大量的語料庫來訓練模型,這些語料庫包含了真實世界中的對話,使得ChatGPT上知天文下知地理,還能具備根據聊天的上下文進行互動的能力,實現與真正人類幾乎無異的聊天場景。下列關于大數據的說法,正確的是( )
A. 利用大量的語料庫訓練模型需要大數據的支持
B. ChatGPT的語料庫因數據體量大,只能抽樣處理
C. 語料數據中蘊含著巨大的價值,其價值密度高
D. Hadoop 適用于實時數據的流計算
5. 下列關于數據處理與應用的說法,正確的是( )
A. 采集數據不能通過人工的方法采集
B. 采集數據后均可直接對采集到數據進行處理和分析
C. 只能使用計算機程序語言編程進行數據處理
D. 文本數據處理主要包括:分詞、特征提取、數據分析、結果呈現等
6. 下列Python表達式中,計算結果與其他不同的選項是( )
A. 2%8+1 B. ord("201"[0:1])+1
C. round(1.6)*2-1 D. 23% 8 //2
7. 某算法的部分流程圖如右圖所示。執行這部分流程,依次輸入6,7,8,則輸出s時,s和a的值分別是( )
A. -1,1 B. 1,1 C. 7,-1 D. 8, -1
8. 有如下Python程序段:
import pandas as pd
data={'姓名':['小明','夏麗','晶晶','李華'],'語文':[90,66,80,78],'數學':[92,86,75,80]}
dfl=pd.DataFrame(data,columns=['姓名','語文','數學'])
df2=df1[df1.語文>=80]
ans=df2['數學'].mean()
執行該程序段后,ans的值為( )
A. 83 B. 83.5 C. 85 D. 92
9. 有如下Python程序段:
def x(ab):
s=0
for i in range(a,b):
s+=i*(i+1)
return s
print (x(1,5))
執行該程序段后,輸出的值為( )
A. 40 B. 50 C. 60 D. 70
10. 有如下Python程序段:
s="D-3DLlLo02obbb";k="D"
for i in range(len(s)):
c=s[i]
if "a"<=c<="z":
c=chr (ord(c)-ord("a")+ord("A"))
if"A"<=c<="Z":
c=chr((ord(c)-ord("A")+1)%26+ord("A"))
if c!=k[-1]:
k=k+c
執行該程序段后,變量k的值為( )
A. EMP B. DEMP C. DEMPC D. DEEMMPPPCCC
11. 有如下Python程序段:
s="bbccbcc";key="bc";new="cb"
i=0
while i<=len (s)-len (key):
if s[i:i+len(key)]==key:
s=s[:i]+new+s[i+len(key):]
i=0
else:
i=i+1
執行該程序段后,變量s的值為( )
A. ccbbcbc B. cccbbbb C. ccccbbb D. ccccbbbb
12. 有如下Python程序段:
import random
n=random. randint (5,15)
i=0:a=[0]*10
while ij=0
a[j]=a[j]+1
while a[j]==3:
a[j]=0
j=j+1
a[j]=a[j]+1
i=i+1
執行該程序段后,列表a中元素之和為3,則n的值不可能是( )
A. 5 B. 7 C. 10 D. 13
二、非選擇題(本大題共3小題,其中第13小題9分,第14小題8分,第15小題9分,共26分)
13. 小明收集了某2所學校的選課情況,對應科目值為1表示選課,為空表示未選。部分文件如圖a所示。
圖a
為統計分析各個學校的各個科目選課的情況,編寫Python程序。請回答下列問題:
(1)數據整理。已知前3列數據均沒有缺失,每個學生選課數量應該為3,小明想要查看是否有學生的選課數量不為3,若有則輸出該學生的學生編號。實現代碼如下,請在劃線處填入合適的代碼。
import pandas as pd
df1=pd.read_excel("1.xlsx")
df2=df1.T #將df1行列轉置后的結果賦值給df2
flag=True
for i in df2.columns:
if ①____.count()!=6:
s=df2.at["學生編號",i]
print("編號為",s,"的學生選課科目數量不為3!")
②__
if flag:
print("學生選課科目數量均為3!")
(2)若存在學生選課數量不為3的,則該數據存在的數據問題是_____(單選,填字母:A.數據重復B.異常數據C.邏輯錯誤)
(3)數據計算和可視化。小明將上述數據整理后,計算兩所學校各個科目選課人數占學??側藬档谋壤?,繪制如圖b所示散點圖進行比較,部分Python程序如下,請在劃線處填入合適的代碼。
圖b
g=dfl.groupby("學校名稱").count()
km=["物理","化學","生物","政治","歷史","地理","技術"]
zb=[]
for i in g.index:
for j in g.columns[2:]:
a=g.at[i,j]/g.at[i,"姓名"]*100
______
plt.scatter(km,zb,label=i+"各科選課占比")
zb=[]
plt.title("兩所中學各科目選課占比比較")
plt. legend();plt. show()
(4)由圖可知選課比例最接近的科目是_______(選填:物理/化學/生物/政治/歷史/地理/技術)。
14. 小王收集了某次考試的成績(考試總分為100分),小王需要依據成績計算名次,按成績從高到低取,同分的人名次相同,若成績分別為94,95,94,93,92,則對應名次為2,1,2,4,5。小王編寫了如下程序,計算每人名次,程序運行前數據如圖a,運行后數據如圖b所示。
圖a 圖b
(1)主程序
kh,zf=readfile('score.txt')#讀入文件
mc=[] #存儲對應名次
a=[0]*
#a中存儲每個分數的個數,如a[90]為10,表示90分的人數個數為10個。
for i in zf:
a[i]=a[i]+1
for i in range(len(zf)):#計算每個分數對應的名次
m=js(zf[i],a);mc.append(m)
#保存為文件代碼略
根據題意,若將加框處改為100,是否會影響程序正確運行_______(選填:是/否)
(2)讀取文本文件,如下的readfile函數,逐行讀取文本文件數據分別存入兩個列表中并返回,請在劃線處填入合適的代碼。
def readfile(filename):
f=open(filenameencoding='utf-8')
line=f.readline() #讀標題行
line=f.readline()#讀第一行數據
kh=[];zf=[] #kh存入考號,zf存入總分
while line:
s=line.split()#以空格為分隔符分割字符串,例“0128 92"變為[“0128","92”]
kh. append (s[0])
_________
line=f.readline()
return kh,zf
(3)計算分數x的名次并返回,如下的js函數,請在劃線處填入合適的代碼。
def js(x,a):
①__
for i in ②__
s+=a[i]
return s
15. 排隊。已有一個n*n的方陣,為快速整隊,使方陣變得整齊,有如下要求:
①整隊后按身高每行從左到右升序
②整隊時,可以讓學生離開使得該行按身高升序,但不能讓學生交換位置
③每行在符合要求的情況下,保持人數最多
④最后根據各個行的人數,尋找值i,人數大于等于i的行的數量大于等于i,i盡量大,組成一個i*i的最大方陣。
小明編寫程序,按要求確定每行的最長長度,再尋找值i,并輸出組成的最大方陣i*i的大小。方陣的身高數據已按每行存儲在和代碼文件同一個位置的“身高.csv”文件中,如圖a所示數據,運行后結果如圖b。
(1)若數據如圖c所示,程序運行后輸出:組成的最大方陣大小為_______
(2)實現上述功能Python程序如下,請在劃線處填入合適的代碼。
(3)加框處代碼有誤,請改正。_______
def readfile(filename):#讀取文件
f=open (filenameencoding='utf-8')
line=f.readline();t=[]
while line:
’’’代碼l將line以逗號為分隔符分割,并將里面的每個元素轉換為整型代碼2將a轉換為列表,例如1ine="156,167,182”,運行上述代碼1,2后存入a的為[156,167,182]’’’
a=map(int,line.split(",")) #代碼1
a=list(a) #代碼2
t.append (a); line=f. readline()
return t
def max_cd(i,b,k): #計算k中到索引i處為止的最長升序序列的元素個數并返回
for j in range(i-l.-1,-1):#枚舉索引i的元素放在索引 0-i-1哪個元素之后最優
if:
b[i]=b[j]+1
return b[i]
t= ①___#讀取文件
c=[]
for k in t:
b={} #b中鍵為索引,值表示在列表k中到該索引為止最長升序序列的元素個數
Max=0
for i in range(len(k)):#b中鍵值對賦初值
②__
for i in range(len(k)):
b[i]=max_cd(i, b,k)
if b[i]>Max:
Max=b[i]
c. append (Max)
for i in range (len(t),0,-1):
count=0
for j in c:
if j>=i:
count+=1
if count>=i:
③___
print("組成的最大方陣大小為”,i,"*",i)

展開更多......

收起↑

資源列表

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 西宁市| 申扎县| 阿克苏市| 澎湖县| 故城县| 天台县| 张家口市| 衡水市| 黄陵县| 肇庆市| 繁峙县| 师宗县| 历史| 松滋市| 清水县| 嵊泗县| 滁州市| 甘孜| 深州市| 同江市| 佛坪县| 宣汉县| 老河口市| 青岛市| 建平县| 芮城县| 台东县| 陆川县| 公主岭市| 章丘市| 灵武市| 乌拉特后旗| 西乌珠穆沁旗| 三明市| 藁城市| 德惠市| 垦利县| 漳平市| 杭州市| 三门峡市| 台东市|