资源简介 数据结构大单元——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] 展开更多...... 收起↑ 资源预览