Py 语言基础及应用 6_第1页
Py 语言基础及应用 6_第2页
Py 语言基础及应用 6_第3页
Py 语言基础及应用 6_第4页
Py 语言基础及应用 6_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python语言及其应用第4章列表与元组PAGE110PAGE1094.5实训4.5.1实训1【列表】一、实训目的1.了解列表基本操作2.掌握列表的截取与拼接3.掌握列表的赋值机制4.学会列表推导式的应用二、单元练习(一)选择题1.Python列表不包含了以下哪个内置函数(D)A.len() B.max() C.min() D.tuple() E.list()2.列表中可以放多少个字符串(C) A.1 B.255 C.无限个 D.由用户自己定义(二)填空题1.已知tmp=['Deris','Weng',2018,2019],请填写下面的结果。

tmp[1]=Weng

tmp[-1]=2019

tmp[:2]=['Deris','Weng']

tmp[::2]=['Deris,2018]2.请填写Python表达式对应的结果。Python表达式结果len([1,2,3,4,5])5[1,2,3]+[4,5,6,7][1,2,3,4,5,6,7]['123']*4[123,123,123,123]3in[1,2,33,4,5]falseforxin[1,2,3,4]:print(x)1234三、实训任务任务1:【列表创建的基本操作】1、创建1个空列表alist(用两种方法实现)程序编写于下方alist=[]blist=list()print(alist)print(blist)2、创建一个长10000的列表blist(列表元素内容为1开始的整数)程序编写于下方alist=[i+1foriinrange(10000)]

print(alist)

print(len(alist))3、创建一个长10000的列表clist(列表元素内容均为1)程序编写于下方alist=[1foriinrange(10000)]

print(alist)

print(len(alist))4、编写程序,用户输入一个列表和2个整数作为下标,然后使用切片获取并输出列表中介于2个下标之间的元素组成的子列表。例如用户输入[1,2,3,4,5,6]和2,5,程序输出[3,4,5,6]。程序编写于下方alist=[1,2,3,4,5,6,7,8]

a=eval(input('下标1:'))

b=eval(input('下标2:'))

print(alist)

print(alist[a:b+1])任务2:【列表截取与拼接】编写下列代码,观察结果,并说明原因。12l=[iforiinrange(0,15)]print(l[::2])结果:[0,2,4,6,8,10,12,14]12l=[iforiinrange(0,15)]print(l[::-2])结果:[14,12,10,8,6,4,2,0]说明原因:第一个是从0到15间隔“2”取值,第二个是从15到0间隔“2”取值任务3:【二维列表】编写下列代码,观察结果。12345list_2d=[[0foriinrange(5)]foriinrange(5)]

list_2d[0].append(3)

list_2d[0].append(5)

list_2d[2].append(7)

print(list_2d)结果:[[0,0,0,0,0,3,5],[0,0,0,0,0],[0,0,0,0,0,7],[0,0,0,0,0],[0,0,0,0,0]]任务4:【列表的赋值机制】写出下列语句执行后的结果。123456a=[1,2,3]

b=a

c=[]

c=a

d=a[:]

print(a,b,c,d)结果为:[1,2,3][1,2,3][1,2,3][1,2,3]继续执行如下语句:12b[0]='b'

print(a,b,c,d)结果为:['b',2,3]['b',2,3]['b',2,3][1,2,3]继续执行如下语句:1print(id(a),id(b),id(c),id(d))结果为:1517100229256151710022925615171002292561517100229320继续执行如下语句:12c[0]='c'

print(a,b,c,d)结果为:['c',2,3]['c',2,3]['c',2,3][1,2,3]继续执行如下语句:12d[0]='d'

print(a,b,c,d)结果为:['c',2,3]['c',2,3]['c',2,3]['d',2,3]继续执行如下语句:1print(id(a),id(b),id(c),id(d))结果为:2440527569544244052756954424405275695442440527569608请对上述的实验过程进行总结:总结:可以看到a,b,c三个是同一个id值,当改变当中任意一列表元素的值后,三者会同步改变。任务5:【列表与循环的混合使用】1、输出结果:[1lovepython,2lovepython,3lovepython,10lovepython]程序编写于下方alist=['{:d}lovepython'.format(i+1)foriinrange(10)]

print(alist)2、输出结果:[(0,0),(0,2),(2,0),(2,2)]程序编写于下方aList=[]

foriinrange(0,3,2):

forjinrange(0,3,2):

aList.append((i,j))

print(aList)四、拓展任务任务1:【列表推导式应用】使用列表推导式生成100以内的所有偶数。程序编写于下方aList=[iforiinrange(2,101,2)]

print(aList)任务2:【列表推导式应用2】使用列表推导式实现矩阵转置。程序编写于下方aList=[[1,2,3],[1,2,3],[1,2,3]]

bList=[]

xList=[]

foriinrange(0,3):

forjinrange(0,3):

xList.append(aList[j][i])

bList.append(xList)

xList=[]

print('转换之前:{}转换之后:{}'.format(aList,bList))任务3:【加密算法】请按照加密规则实现加密算法,加密规则如下:每位数字都加上7,然后再用它除以10的余数代替该数字,再将第一位和第三位交换,第二位和第四位交换。程序编写于下方defget_password(pasw):

num=0

password=''

Word=list(pasw)

foriinWord:

mod=(eval(i)+7)%10

Word[num]=str(mod)

num+=1

a=Word[0];Word[0]=Word[2];Word[2]=a

b=Word[1];Word[1]=Word[3];Word[3]=b

forjinWord:

password=password+j

returnpassword

word=input('请输入一个四位数的密码:')

print('加密后的密码是:{}'.format(get_password(word)))4.5.2实训2【元组】一、实训目的1.掌握元组基本操作2.掌握列表与元组的相互转化二、单元练习(一)选择题1.Python元组不包含了以下哪个内置函数() A.len() B.max() C.min() D.tuple() E.以上都是2.以下哪个选项输出值为3?(A) A.len((1,2,3)) B.3in(1,2,3) C.forxin(1,2,3): printx3.tuple函数可以达到什么效果?(D) A.计算元组元素个数 B.返回元组中元素最大值

C.将元组转换成列表 D.将列表转换成元组(二)填空题1.已知tmp=['Deris','Weng',2018,2019],请填写下面的结果。

tmp[1]=Weng

tmp[-1]=2019

tmp[:2]=['Deris','Weng']

tmp[::2]=['Deris',2018]tmp[::-1]=[2019,2018,'Weng','Deris']2.请描述tup(50)和tup(50,)的区别?3.请填写Python表达式对应的结果。Python表达式结果len((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)Falseforxin(1,2,3,4):print(x)1234三、实训任务任务1:【列表与元组的相互转化】编写下列代码,观察结果。123T=('cc','aa','dd','bb')tmp=list(T)print(tmp)结果:['cc','aa','dd','bb']12T=tuple(tmp)print(T)继续编写,结果:('cc','aa','dd','bb')

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论