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

浙教版信息技術選修1第二章2.1數組綜合練習題(含答案)

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

浙教版信息技術選修1第二章2.1數組綜合練習題(含答案)

資源簡介

數組綜合練習
一、基礎默寫
圖1
1如上圖1所示:用不同的記號筆在上圖標識出來
index=__________________
Columns=__________________
Values=___________________
圖2
2如上圖2所示:用不同的記號筆在上圖標識出來
index=__________________
Columns=__________________
Values=___________________
3如右圖3所示:
df.values的結果是
———————————
二、地區模擬題 圖3
1、有如下 Python 代碼:
data='My Name is Tom!'
imax,t=0,0
for ch in data:
if ('A'<=ch<='Z') or ('a'<=ch<='z'):
t+=1
else:
if t>imax:
imax=t
t=0
print(imax)
執行上述代碼后,輸出的內容是
A.2 B.3 C.4 D.5
2、[202406]數組 11.有如下 Python 程序段:
for i in range(0, len(a) -1, 2):
if i> 0 and a[i] < a[i - 1]:
a[i], a[i - 1] = a[i - 1], a[i]
if a[i] < a[i + 1]:
a[i], a[i + 1] = a[i + 1], a[i]
列表 a 有 6 個元素,運行該程序段后,a 可能的值是 ( )
A.[2, 9, 8, 6, 9, 3] B.[9, 9, 8, 6, 3, 2]
C.[9, 3, 6, 2, 8, 9] D.[6, 3, 9, 2, 9, 8]
3、[Z20]10.列表a包含n個互不相等的正整數,即 a[0],a[1]...,[n-1],求其中任意兩個元素之和的最大值的程序段如下:
s=0
b=a[0]
for i in range(1,n):
——————————
——————————
print(s)
劃線處應選填的代碼順序是()
(1)b=max(a[i],a[i-1]) (2)b=max(b,a[i])
(3)s=max(s,a[i]+b) (4)s=max(s,a[i]+a[i-1])
A.32 B.31 C.42 D.41
(3)[202403強基聯盟]10.某算法的部分流程圖如第 10 題圖所示,數組元素 a[0]至 a[8]依次存放 7,5,0,0,9,1,3,7,7,執行這部分流程 后,輸出 c 的值為 ()
A.2 B.3 C.4 D.5
【答案】A
【解析】(技術高手聯盟 IT 組 提供)
考查流程圖相關知識及數組的應用由 cnt[a[i]] cnt[a[i]]+1 可知該算法實現了桶排序,將相同元素放入同一個桶中,最后統計 a 數組中,重 復出現的元素的個數。
4、[202403強基聯盟]該系統設有 4 個煙霧傳感器,編號存儲在列表 names 中,其中 names=["s1","s2","s3","s4"]。各傳感器 每隔 1 分鐘分別采集 1 次煙霧濃度值并傳輸到服務器。現從數據庫中提取某時段一小時的歷史數據存 儲 在 字 典 dic 中 , 其 中 dic={"s1":[480,500,…,550], "s2":[450,430,…,560], "s3":[580,500,…,450],"s4":[510,520,…,530]},dic 第一個元素表示傳感器 s1 在第 1,2,…,60 分鐘采集的煙霧濃度值分別為 480,500,…,550,以此類推。求 4 個傳感器采集的煙霧濃度數據中的最大值和次大值。 部分 Python 程序代碼如下,請在劃線處填入合適的代碼。
m1 = 0; m2 = 0 #最大值 m1,次大值 m2
for item in names:
________① ______
for i in range(0, len(tmp) , 2):
if tmp[i] < tmp[i+1]:
tmp[i],tmp[i+1] = tmp[i+1],tmp[i]
if tmp[i+1] > m1:
m1 = tmp[i]; m2 = tmp[i+1]
elif ___②__ :
m2 = m1; m1 = tmp[i]
elif tmp[i] > m2:
m2 = tmp[i]
5、【202405東陽】13.某紅木加工廠為了防止粉塵爆炸,在木料車間搭建了粉塵監測系統。該系統示意圖如第 13題圖 a 所示,網絡應用軟件的實現架構是 B/S 架構。粉塵爆炸有三個條件:一是有火源,二是氧氣濃度達到 21% ,三是粉塵濃度不能超過 20~60g/m3 。請回答下列問題:在車間不同位置安裝了 10 個粉塵傳感器,用于找出最易發生粉塵爆炸的位置。現編寫程序,找出 10 個傳感器每小時(0—23 時)粉塵濃度最大值出現的次數,并輸出次數最多的傳感器編號。若同一時段出現多個相同的最大值,則輸出最先出現的編號。部分 Python 程序代碼如下,輸出界面如 13 題圖 b 所示,請在劃線處填入合適的代碼。
sensor=["s1","s2","s3","s4","s5","s6","s7","s8","s9","s10"] #傳感器的編號 dis=[[16,22, … …,8],[ 10,25, … …,25], … …,[9,14, … …,14]]
#dis 中存儲 10 個傳感器每小時的粉塵濃度數據,分別是 dis[0]—dis[9] 。如 dis[0]中的 [ 16,22, … … ,8],分別是傳感器 s1 在第0 、1 、2… …23 時采集到的粉塵濃度值。
ds_count=[0]* 10 #存儲每個傳感器最大值出現的次數
for i in range(0,24):
max1=p1=0
for j in range(0, 10):
if dis[j][i]>max1:
max1=dis[j][i]
p1= ①
ds_count[p1]+= 1
print(" 10 個傳感器最大值出現的次數為",ds_count)
max2=p2=0
for i in range(0, 10):
if ds_count[i]>max2:
max2=ds_count[i]
p2=i
print("次數最多的是", ② ,"粉塵傳感器。")
6、【2312強基】有一個數字集合,所有數按從小到大的順序排成規律的數列,即a1=3,a2=5,a3=6,a4=9,…,小明同學對所有數字按照左小右大、上小下大的原則寫成如下的三角表形式,如第 13 題圖 a 所示:
(1)小明發現圖 a 中的數據很有規律,根據這一規律可以推出 a(13)= ▲ ;
(2)小明編寫了一個 Python 程序,用來求該數列第 n 項數值以及前 n 項和,程序運行界面如第 13 題圖 b 所示。部分程序代碼如下:
num=int(input("請輸入數列的項數:"))
n=num
i,sum=1,0
while n>i:
for j in range(i):
________(1)______
___________② ________
i+=1
if n!=0:
for j in range(n):
sum+=2**i+2**j
___________③ _______
print("a("+str(num)+")=",b)
print("集合前"+str(num)+"項和為:",sum)
11 月 1 日開始小明每天定時記錄農作物的生長情況,為了更好的了解溫度對農作物生長的影響,系統搭建好后從 10 月 20 日開始運行至 11 月 5 日,小明現需計算其中屬于 11 月份的每天溫度與前一天的溫差,首先在數據表中加入了“diff”列來記錄溫度差,如第 13 題圖 b 所示,分析結果如 13 題 c 所示。
第 13 題圖 b 第 13 題圖 c
部分 Python 程序如下:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("data.csv")
n = len(df)
df["diff"] = 0
# 插入新列“diff”,用于存儲與前一天溫差,默認值設為 0
dft =_________①________ # 將 10 月 31 日至 11 月 5 日數據存儲于 dft
for i in range(12,17):
s = dft.at[i,"temp"] - dft.at[i - 1,"temp"]
______②____ #設置 11 月份每日的溫差值如第 13 題圖 diff 列所示
dft = dft.tail(5)
print(dft) #輸出如第 13 題圖 c 所示
8、14.某動車廂有特定座位 m 排,共 4×m=n 個座位,每一排從左到右分別編為 A、B、C、D。A 臨左窗,B、C 臨過道,D 臨右窗。動車售票系統支持在線訂票或退票。現編寫程序,模擬在線訂票退票操作,并及時統計待售的連坐座位有多少對。若某相同的座位數據被多次輸入,則依次表示售出,退票,售出……以此類推。如第 14 題圖 a 所示,當前圖中顯示的待售連坐座位是 7 對。
(1)若售退數據為 '1A', '1C', '2A', '2B', '3C', '2B', '1A',則此時售出座位有( )個
(2)實現上述功能的部分 Python 程序如下,請在劃線處填入合適的代碼。
n = 40;cnt = 0
tick = [0] * n #0 ~ n-1 號座位初始為待售狀態,每位用 0 表示。
lst = ['5C', '2A', '7A', '6C', '6C', '4D', '7D', '4D', '10C']
j=0
while j != len(lst):
puts = lst[j]
st=""
______①______
for i in puts:
if "0" <= i <= "9":
______②______
else:
num = int(st)
sq = ord(i) - 65
#此時 i 為 puts 中讀取的字母,以此計算本次操作的座位所處的列號
pos = (num - 1) * 4 + sq
tick[pos] = 1 - tick[pos]
for i in range(0,n,2):
if _____③_____:
cnt += 1
print("待售的連坐座位統計:", cnt, "對")
9.使用列表生成式創建數組代碼如下:
a=[i*i for i in range(10) if i%2==0]
則數組元素 a[3]的值是 ( )
A.3 B.9 C.16 D.36
10.在一個長度為 n 的數組中刪除第 i個元素(1<=i<=n)時,需向前移動的元素個數是 ()
A.i B.n-i C.n-i+1 D.n-i-1
11、有如下 Python 程序段:
a=[3,1,6,5,0,9,2,6]
i=0;n=len(a)
while iif a[i]%3==0:
a[i]=a[n-1]
n-=1
else:
i+=1
執行該程序段后,a[0]的值是 ()
A.3 B.1 C.2 D.5
12、實現上述功能的 Python 程序如下,請在劃線處填入合適的代碼。
#算法 1:使用變量 j逆序掃描數組,再利用 pop(j)方法直接刪除重復元素
def deduplication_1(arr):
i=0
while ifor j in range( ① ):
if arr[j]==arr[i]:
arr.pop(j)
i+=1
#算法 2:使用變量 c 統計重復元素,再通過 arr[j-c]=arr[j]高效刪除重復元素
def deduplication_2(arr):
i,n=0,len(arr)
while ic=0 #記錄重復元素的數量
for j in range(i+1,n):
if arr[j]==arr[i]:
c+=1
else:
_______②______
n-=c #更新數組長度
i+=1
del arr[n:]
#算法 3:使用變量 r記錄剩余元素右邊界,再通過 arr[r]=arr[j]高效刪除重復元素
def deduplication_3(arr):
i,n=0,len(arr)
while ir=i+1 #剩余數組元素的右邊界
for j in range(i+1,n):
if ____③____:
arr[r]=arr[j]
r+=1
n=r #更新數組長度
i+=1
del arr[n:]
13.有如下 Python 程序段:
n=4
a=[[i*n+j+1 for i in range(n)] for j in range(n)]
for j in range(1,n,2):
for i in range(n//2):
a[i][j],a[n-i-1][j]=a[n-i-1][j],a[i][j]
執行該程序段后,a[1][1]和 a[2][2]的值分別為 ()
A.6 和 10 B.7 和 10
C.6 和 11 D.7 和 11
14.有如下 Python 程序段:
a=[[0]*4]*3
b=[[0]*4 for i in range(3)]
a[2][3]=8
b[2][3]=8
執行該程序段后,下列說法正確的是 ()
A.a[0][3]的值為 0,b[0][3]的值為 0
B.a[0][3]的值為 0,b[0][3]的值為 8
C.a[0][3]的值為 8,b[0][3]的值為 0
D.a[0][3]的值為 8,b[0][3]的值為 8數組綜合練習
一、基礎默寫
圖1
1如上圖1所示:用不同的記號筆在上圖標識出來
index=___[0,1,2]
Columns=___[“學號”,”性別”,”年齡”]_______________
Values=____[[“s001”,”s002”,”s003”],[ “男”,”女”,”男”],[16,17,18]]_______________
圖2
2如上圖2所示:用不同的記號筆在上圖標識出來
index=__________________
Columns=__________________
Values=___________________
3如右圖3所示:
df.values的結果是
———————————
二、地區模擬題 圖3
(0)有如下 Python 代碼:
data='My Name is Tom!'
imax,t=0,0
for ch in data:
if ('A'<=ch<='Z') or ('a'<=ch<='z'):
t+=1
else:
if t>imax:
imax=t
t=0
print(imax)
執行上述代碼后,輸出的內容是 ( C )
A.2 B.3 C.4 D.5
(1)[202406]數組 11.有如下 Python 程序段:
for i in range(0, len(a) -1, 2):
if i> 0 and a[i] < a[i - 1]:
a[i], a[i - 1] = a[i - 1], a[i]
if a[i] < a[i + 1]:
a[i], a[i + 1] = a[i + 1], a[i]
列表 a 有 6 個元素,運行該程序段后,a 可能的值是 ( D )
A.[2, 9, 8, 6, 9, 3] B.[9, 9, 8, 6, 3, 2]
C.[9, 3, 6, 2, 8, 9] D.[6, 3, 9, 2, 9, 8]
(2)[Z20]10.列表a包含n個互不相等的正整數,即 a[0],a[1]...,[n-1],求其中任意兩個元素之和的最大值的程序段如下:
s=0
b=a[0]
for i in range(1,n):
——————————
——————————
print(s)
劃線處應選填的代碼順序是(A)
(1)b=max(a[i],a[i-1]) (2)b=max(b,a[i])
(3)s=max(s,a[i]+b) (4)s=max(s,a[i]+a[i-1])
A.32 B.31 C.42 D.41
(3)[202403強基聯盟]10.某算法的部分流程圖如第 10 題圖所示,數組元素 a[0]至 a[8]依次存放 7,5,0,0,9,1,3,7,7,執行這部分流程 后,輸出 c 的值為 ()
A.2 B.3 C.4 D.5
【答案】A
【解析】(技術高手聯盟 IT 組 提供)
考查流程圖相關知識及數組的應用由 cnt[a[i]] cnt[a[i]]+1 可知該算法實現了桶排序,將相同元素放入同一個桶中,最后統計 a 數組中,重 復出現的元素的個數。
(4)[202403強基聯盟]該系統設有 4 個煙霧傳感器,編號存儲在列表 names 中,其中 names=["s1","s2","s3","s4"]。各傳感器 每隔 1 分鐘分別采集 1 次煙霧濃度值并傳輸到服務器。現從數據庫中提取某時段一小時的歷史數據存 儲 在 字 典 dic 中 , 其 中 dic={"s1":[480,500,…,550], "s2":[450,430,…,560], "s3":[580,500,…,450],"s4":[510,520,…,530]},dic 第一個元素表示傳感器 s1 在第 1,2,…,60 分鐘采集的煙霧濃度值分別為 480,500,…,550,以此類推。求 4 個傳感器采集的煙霧濃度數據中的最大值和次大值。 部分 Python 程序代碼如下,請在劃線處填入合適的代碼。
m1 = 0; m2 = 0 #最大值 m1,次大值 m2
for item in names:
________① ______
for i in range(0, len(tmp) , 2):
if tmp[i] < tmp[i+1]:
tmp[i],tmp[i+1] = tmp[i+1],tmp[i]
if tmp[i+1] > m1:
m1 = tmp[i]; m2 = tmp[i+1]
elif ___②__ :
m2 = m1; m1 = tmp[i]
elif tmp[i] > m2:
m2 = tmp[i]
(3)①tmp=dic[item] ②tmp[i]>m1
循環遍歷列表 names,item 為字典的鍵,有后續代碼可得 tmp 為溫度值,需通過字典鍵值對實現即 tmp=dic[item];
內循環實現最大值和次大值賦值,考查分支語句的應用。首先通過比較確保相鄰兩數中前者為大數,后者為小數。第一種情況:若小數比最大值(m1)更大,則大數為最大值,小數為次大值;第二種情況,大數比原最大值大,則將原最大值更新為次大值,最大值為當前的大數;第三種情況,小數比原次大值更大,更新次大值
(5)【202405東陽】13.某紅木加工廠為了防止粉塵爆炸,在木料車間搭建了粉塵監測系統。該系統示意圖如第 13題圖 a 所示,網絡應用軟件的實現架構是 B/S 架構。粉塵爆炸有三個條件:一是有火源,二是氧氣濃度達到 21% ,三是粉塵濃度不能超過 20~60g/m3 。請回答下列問題:(3)在車間不同位置安裝了 10 個粉塵傳感器,用于找出最易發生粉塵爆炸的位置。現編寫程序,找出 10 個傳感器每小時(0—23 時)粉塵濃度最大值出現的次數,并輸出次數最多的傳感器編號。若同一時段出現多個相同的最大值,則輸出最先出現的編號。部分 Python 程序代碼如下,輸出界面如 13 題圖 b 所示,請在劃線處填入合適的代碼。
sensor=["s1","s2","s3","s4","s5","s6","s7","s8","s9","s10"] #傳感器的編號 dis=[[16,22, … …,8],[ 10,25, … …,25], … …,[9,14, … …,14]]
#dis 中存儲 10 個傳感器每小時的粉塵濃度數據,分別是 dis[0]—dis[9] 。如 dis[0]中的 [ 16,22, … … ,8],分別是傳感器 s1 在第0 、1 、2… …23 時采集到的粉塵濃度值。
ds_count=[0]* 10 #存儲每個傳感器最大值出現的次數
for i in range(0,24):
max1=p1=0
for j in range(0, 10):
if dis[j][i]>max1:
max1=dis[j][i]
p1= ①
ds_count[p1]+= 1
print(" 10 個傳感器最大值出現的次數為",ds_count)
max2=p2=0
for i in range(0, 10):
if ds_count[i]>max2:
max2=ds_count[i]
p2=i
print("次數最多的是", ② ,"粉塵傳感器。")
(3)① 根據 ds_count[p1]+=1,說明變量 p1 保存的是這個時間段最大傳感器對應的下標:j;② 這里填寫
的應該是變量 p2 對應的傳感器名稱:sensor[p2],根據本題的特點,這樣寫也是可以的:"s"+str(p2+1)
13.有一個數字集合,所有數按從小到大的順序排成規律的數列,即 a1=3,a2=5,a3=6,a4=9,…,小
明同學對所有數字按照左小右大、上小下大的原則寫成如下的三角表形式,如第 13 題圖 a 所示:
(1)小明發現圖 a 中的數據很有規律,根據這一規律可以推出 a(13)= ▲ ;
(2)小明編寫了一個 Python 程序,用來求該數列第 n 項數值以及前 n 項和,程序運行界面如第 13 題圖 b 所示。部分程序代碼如下:
num=int(input("請輸入數列的項數:"))
n=num
i,sum=1,0
while n>i:
for j in range(i):
_______① ______
___________② ________
i+=1
if n!=0:
for j in range(n):
sum+=2**i+2**j
___________③ _______
print("a("+str(num)+")=",b)
print("集合前"+str(num)+"項和為:",sum)
答案:
(1) 36
(2)
① sum+=2**i+2**j
② n-=i
③ b=2**i+2**(n-1)
①df.tail(6) 或者 df[11:17]
②dft.at[i,"diff"] = s 或 df.at[i,"diff"]=s 或 dft["diff"][i]=s 或 df["diff"][i]=s
8、(1)3
.(2)①j += 1 或 j = j + 1 或其他等價答案.
②st = st+i 或 st += i 或其他等價答案.
③tick[i] + tick[i+1] == 0 或 tick[i]==0 and tick[i+1]==0 或其他等價答案
9、D
10、B
11、C
12、(1)len(arr)-1,i,-1
(2)arr[j-c]=arr[j]
(3)arr[j]!=arr[i]
D
C

展開更多......

收起↑

資源列表

<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. 主站蜘蛛池模板: 卫辉市| 威信县| 肃北| 内江市| 南昌县| 红桥区| 湖北省| 轮台县| 垦利县| 富源县| 横山县| 南宁市| 新余市| 工布江达县| 阜新市| 尉氏县| 遂溪县| 安国市| 余姚市| 凭祥市| 鸡泽县| 灌南县| 英山县| 儋州市| 丁青县| 沙雅县| 两当县| 新和县| 香格里拉县| 福建省| 根河市| 台中市| 浠水县| 阜城县| 武穴市| 黑龙江省| 聊城市| 平果县| 安宁市| 报价| 陈巴尔虎旗|