《Python语言程序设计(工作手册式)【实训题目-含答案】实训4.5.docx》由会员分享,可在线阅读,更多相关《Python语言程序设计(工作手册式)【实训题目-含答案】实训4.5.docx(8页珍藏版)》请在第一文库网上搜索。
1、4.5实训I4.5.1 实训1【列表】一、实训目的1 .了解列表基本操作2 .掌握列表的截取与拼接3 .掌握列表的赋值机制4 .学会列表推导式的应用二、单元练习(-)选择题1Python列表不包含了以下哪个内置函数(D)A.1en()B.max()C.min()D.tup1e()E.1ist()2.列表中可以放多少个字符串(C)A.1B.255(二)填空题C.无限个D.由用户自己定义1 .Btmp=,Deris,Weng2018,2019,请填写下面的结果。tmp1I=Wengtmp-11=2019DerisDWengtmp:2=fDeris,201812 .请填写Python表达式对应的结果
2、。Python表达式结果1en(1,2,3,4,5)51,2,3+4t5,6,71,2,345,6,7123*4123,123,123,1233in1,2,33,4,5fa1seforXin1,2,3,4:print(x)1234三、实训任务任务1:【列表创建的基本操作】1、创建1个空列表a1ist(用两种方法实现)程序编写于下方a1ist=b1ist=1ist()print(a1ist)print(b1ist)2、创建一个长10000的列表b1ist(列表元素内容为1开始的整数)程序编写于下方a1ist=i+1foriinrange(10000)print(a1ist)print(1en(a
3、1ist)3、创建一个长IOooO的列表C1iSt(列表元素内容均为1)程序编写于下方a1ist=1foriinrange(10000)print(a1ist)print(Ien(a1ist)4、编写程序,用户输入一个列表和2个整数作为下标,然后使用切片获取并输出列表中介于2个下标之间的元素组成的子列表。例如用户输入1,2,3,4,5,6和2,5,程序输出3,4,5,61o程序编写于下方a1ist=1,2,3,4,5,6,7,8a=eva1(input(下标1:)b=eva1(inputC下标2:)print(a1ist)print(a1ista:b+1)任务2:【列表截取与拼接】编写下列代码
4、,观察结果,并说明原因。11=iforiinrange(0,15)2IPrint(I:2)结果:02468,10,12,14111=iforiinrange(0,15)2 IPrint(I:-21)结果:14,12,10,。6,4,2,01说明原因:第一个是从0到15间隔“2”取值,第二个是从15到0间隔“2”取值任务3:【二维列表】编写下列代码,观察结果。11ist_2d=0foriinrange(5)foriinrange(5)J21ist_2d0.append(3)3 1ist_2d0.append(5)4 1ist_2d2.append(7)5 rint(1ist-2d)结果:Qt0,
5、QI0,Q13,51J0.0,Q10,OIj0,Q0.QI0,70.0,Q10,01J0.0,Qt0,任务4:【列表的赋值机制】写出下列语句执行后的结果。1 a=1,2,32 b=a3 c=4 c=a5 d=a:6 Print(a,b,c,d)结果为:12I1111a31比2,31U.2,31继续执行如下语句:1bf1=b2;Print(a,b,c,d)结果为:IH2.311b.2.311b.2,3111.2,31继续执行如下语句:!Prin1(id(a).id(b),id(c),id(d)结果为:151710022925615171002292561517100229256151710022
6、9320继续执行如下语句:1c0=c2Print(a,b,c,d)结果为:c.2,3Uc.2,31【c.2.3H123I继续执行如下语句:1d0=d2Print(a,b,c,d)结果为:c,2,3MU2,311匚2,314d;2,3继续执行如下语句:!Print(id(a),id(b),id(c),id(d)结果为:2440527569544244052756954424405275695442440527569608请对上述的实验过程进行总结:总结:可以看到a,b,c三个是同一个id值,当改变当中任意一列表元素的值后,三者会同步改变。任务5:【列表与循环的混合使用】1、输出结果:11ovep
7、ython,21ovepython,31ovepython,.101ovepython程序编写于下方a1ist=d(1ovepython,.format(i+1)foriinrange(10)print(a1ist)2、输出结果:(0,0),(0,2),(2,0),(2,2)程序编写于下方a1ist=foriinrange(0,3,2):forjinrange(0,3,2):a1ist.append(i,j)print(a1ist)四、拓展任务任务1:【列表推导式应用】使用列表推导式生成100以内的所有偶数。程序编写于下方a1ist=iforiinrange(2,101,2)print(a1i
8、st)任务2:【列表推导式应用2】使用列表推导式实现矩阵转置。程序编写于下方a1ist=1,2,3,1,2,3,1,2,3b1ist=x1ist=foriinrange(0,3):forjinrange(0,3):x1ist.append(a1istji)b1ist.append(x1ist)x1ist=PrintC转换之前:)转换之后:“JformaHa1is1b1ist)任务3:【加密算法】请按照加密规则实现加密算法,加密规则如下:每位数字都加上7,然后再用它除以10的余数代替该数字,再将第一位和第三位交换,第二位和第四位交换。程序编写于下方defget_password(pasw):nu
9、m=Opassword=Word=1ist(pasw)foriinWord:mod=(eva1(i)+7)%10Wordnum=str(mod)num+=1a=Word0;Word0=Word2;Word2=ab=Word1;Word1=Word3;Word3=bforjinWord:password=password+jreturnpasswordword=input,请输入一个四位数的密码:,)PrintC加密后的密码是:.format(ge1PaSSWord(WOrd)4.5.2实训2【元组】一、实训目的1 .掌握元组基本操作2 .掌握列表与元组的相互转化二、单元练习(-)选择题1Pyt
10、hon元组不包含了以下哪个内置函数()A.1en()B.max()C.min()D.tup1e()E.以上都是2.以下哪个选项输出值为3?(A)A.1en(1,2,3)B.3in(1,2,3)C.forxin(1,2,3):printx3.1UP1e函数可以达到什么效果?(D)A.计算元组元素个数B.返回元组中元素最大值C将元组转换成列表D.将列表转换成元组(-)填空题1 .已知tmp=rDerisVWeng2018,2019,请填写下面的结果。tmp11=Wengtmp-11=2019tmp:21=Deris,Wg日tmp-21=Deris20181tmp:-1=12019,2018,Wen
11、gTDeris2 .请描述tup(50)和IUP(50,)的区别?3.请填写Python表达式对应的结果。Python表达式结果1en(1,2,3,4,5)5(1,2,3)+(4,5,6,7)(1,2,3,4,5,6,7)(123)*4492(123,)*4(123,123,123,123)3in(1,2,33,4,5)Fa1seforXin(112,3,4):print(x)1234三、实训任务任务1:【列表与元组的相互转化】编写下列代码,观察结果。1T=(,cc,aa7dd,bb,)2 tmp=1ist(T)3 Print(imp)结果:cc.aaJddbb11T=tup1e(tmp)2Prjnt(T)继续编写,结果:(,cc,aa,dd,bb)任务2:【元组的使用】打印输出oneJtwoTfourTfive,six的temp元组,在two,four之间加入three,截取前两项。atup=(,one,two,four,five,six)print(1ist(atup)Iist1=1ist(atup)1ist1.insert(2,three)btup=tup1e(1ist1)print(btup)