資源簡介 數據結構大單元——python數組綜合基礎練習1班級 姓名1.有如下 python 程序段:from random import randinta=[] ; max=0for i in range(0,5):a.append(randint(0,10)-5)for i in range(5):s=sum(a[i:])if s>max:max=s上述程序段執行后,max的值為2,則a的值可能為( )A.[2, -3, 1, 5, -2] B.[5, -5, -1, 4, -2]C.[6, -4, -3, 1, 1] D.[1, -3, -1, 0, 5]2.有下列 Python 程序段:a=[3,7,8,2,19,10,16,12] ; n=len(a)for i in range(2):k=ifor j in range(i+1,n):if a[k]k=jif i!=k:a[i],a[k]=a[k],a[i]下列說法不正確的是( )A.程序段執行后,列表a中的元素為[19, 16, 8, 2, 3, 10, 7, 12]B.代碼“for i in range(2):”等價于“for i in range(0,2):”C.程序段執行后,變量 k 的值為7D.將代碼“if i!=k:”修改為“if k>i:”,不會影響程序的運行結果3.現有n個學生的7門學科成績已存入一維數組cj中。某 python 程序代碼段如下:def f(x):p=x*7 ; k=0for j in range(7):if cj[p+j]>cj[p+k]:k=jreturn(k)cj=[ 96,83,91,85,86,77,88,98,93,94,82,96,87,99]km="物化生政史地技"n=2 ; s=""for i in range(n):s+=km[f(i)]print(s)cj數組元素的值依次為96,83,91,85,86,77,88,98,93,94,82,96,87,99,運行后,輸出的結果為( )A.物技 B.地政 C.物生 D.技物4.小明用python語言對大小為100*100像素的圖像“上.jpg”(如圖所示)進行簡單處理,部分代碼如下:img=Image.open("上.jpg")im=np.array(img.convert("L")) # 轉換成數字矩陣rows,cols=im.shapefor i in range(rows):for j in range(cols):if j%10==0:im[i,j]=0程序執行后的圖像效果是( )5.輸入年月日判斷是當前年份的第幾天。例如:2020年3月1日是這一年的第61天。編寫Python程序,實現該功能。(提示:普通閏年:公歷年份是4的倍數,且不是100的倍數的,為閏年。世紀閏年:公歷年份是整百數的,必須是400的倍數才是閏年)#判斷是否是閏年def leap(m):if m%400==0 or ① and m%4==0:return Trueelse:return Falseyear= int(input("請輸入 4 位數字的年份:"))month = int(input("請輸入月份:"))day = int(input("請輸入日:"))monthdays=[0,31,28,31,30,31,30,31,31,30,31,30]if ② and leap(year):sum=1else:sum=0for i in range(month):sum= ③sum=sum+dayprint(year,"年",month,"月",day,"日是這一年的第",sum,"天")(1)若日期是2022年4月18日是這一年的第________天(2)請在劃線處填入合適的代碼。6.【202204七彩陽光】Python綜合應用。小明運用Python完成了以下功能:1)隨機產生100個4位正整數,存放在列表list1中。2)將列表list1中的數據除去千位和個位(百位若是0,則將百位設置為1)后存放在列表list2中。3)將列表list2中的數據除去所有的非素數存放在列表list3中。4)將列表list3中的數據刪除所有重復的數據后存放在列表list4中 。5) 將列表list4中的數據排序(從小到大) 存放在列表list5中。6) 在列表list5中查數并顯示其在列表中的位置。實現上述功能的 Python 程序如下,請在劃線處填入合適的代碼:import randomlist1=[] ; list2=[] ; list3=[] ; list4=[] ; list5=[]#隨機產生100個4位正整數for i in range(100):a=①________________list1.append(a)print(list1)#除去千位和個位(百位是0,則將百位設置為1)for i in list1:a=i//10%100if a<10:②else:b=alist2.append(b)print(list2)#除去所有的非素數def prime(n):p=Truefor i in range(2,n):if n%i==0:③breakreturn pfor i in list2:if prime(i):list3.append(i)print(list3)#刪除所有重復的數據for i in range(len(list3)-1):t=list3[i]if :list4.append(t)print(list4)#從小到大排序for j in range(len(list4)-1):for k in range(len(list4)-1,j,-1):if ⑤___________________:t=list4[k] ; list4[k] = list4[k-1] ; list4[k-1] = tlist5=list4print(list5)#查數k=int(input("請輸入待查找的數值:"))for i in range(len(list5)):if k==list5[i]:print(str(k)+":位于列表中第"+⑥___________+"個位置!")breakelse:print("查無此數!")7.【202204杭州六縣九校】浙江省的“健康碼”管理信息系統以真實數據為基礎,連通重點人員動態管控清單等相關數據庫,根據群眾申報信息與后臺數據的校驗比對結果發放“健康碼”。小明使用 python 編寫程序,模擬健康碼的發放。與核算檢測陽性人員密接者為紅碼,次密接者為黃碼,其他為綠碼。如圖2所示,文件"mj.txt"中存儲了一段時間中相互之間有密接的學生id(即id為1和5的學生有密接,5和4有密接,2和1有密接.......)。如圖3所示,文件"id.txt"中存儲了不同id對應的學生姓名(即id為1的學生是“若依”)。如果既為密接者,同時又是次密接者,則判斷為密接者。如,輸入核酸檢測陽性學生id為1,輸入健康碼待發放學生id為2,程序自動輸出該學生健康碼為紅碼,如圖1所示。(1)若id為2的學生核酸檢測陽性,那么姓名為“高寒”的學生健康碼為 。(2)實現上述功能的程序如下,請在劃線處填入合適的代碼。yx=input("請輸入核酸檢測陽性學生 id:")df=input("請輸入健康碼待發放學生 id:")xmdic,madic={},{} #xmdic存放不同id對應的學生姓名,madic存放不同id對應的不同健康碼mjlst,mj=[],[] #mjlst存放可能為密接的學生idcmlst,cmj=[],[] #cmlst存放可能為次密接的學生idf=open("mj.txt" ,"r+")line=f.readline()while line: #查找密接學生 d,存放在變量mj中mjlst=line.split() #以空格為分隔符切片 line,如line為"1 5",則mjlst值為["1","5"]if yx==mjlst[0]:mj.append(mjlst[1])elif yx==mjlst[1]:mj.append(mjlst[0])else:cmlst.append(mjlst)line=f.readline()for j in range(len(cmlst)): #查找次密接學生id,存放在變量cmj中if cmlst[j][1] not in mj and cmlst[j][0] in mj:①________________elif cmlst[j][0] not in mj and cmlst[j][1] in mj:cmj.append(cmlst[j][0])f_id=open("id.txt" ,"r+")line=f_id.readline()while line: #獲取不同id學生的健康碼,存放在變量madic中idxm=line.split()② #在xmdic字典中創建id與姓名相對應的鍵值對if idxm[0] in mj:madic[idxm[0]]="紅碼"elif idxm[0] in cmj:madic[idxm[0]]="黃碼"else:madic[idxm[0]]="綠碼"line=f_id.readline()if df in xmdic and yx in xmdic:print(xmdic[df],"健康碼為:",③ )else:print("您輸入的核酸檢測陽性學生 id 或健康碼待發放學生 id 有誤,請重新輸入!")數據結構大單元——python數組綜合基礎練習1班級 姓名1——4:BCAD5.(1)108(2) ①m%100!=0 ②month>2(類似答案) ③sum+monthdays[i]6.①random.randint(1000,9999) ②b=10+a ③p=False t not in list4⑤list4[k]7.(1)黃碼(2)①mj.append(mjlst[1]) ②xmdic[idxm[0]]=idxm[1] ③madic[df] 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫