收藏 分销(赏)

Python程序设计使用序列.pptx

上传人:人****来 文档编号:4604676 上传时间:2024-10-05 格式:PPTX 页数:51 大小:449.47KB
下载 相关 举报
Python程序设计使用序列.pptx_第1页
第1页 / 共51页
Python程序设计使用序列.pptx_第2页
第2页 / 共51页
Python程序设计使用序列.pptx_第3页
第3页 / 共51页
Python程序设计使用序列.pptx_第4页
第4页 / 共51页
Python程序设计使用序列.pptx_第5页
第5页 / 共51页
点击查看更多>>
资源描述

1、Introduction to Computer ProgrammingSchoolofComputerandInformationScienceSouthwestForestryUniversity2013.9计算机编程导论计算机编程导论 西南林业大学西南林业大学计算机与信息学院计算机与信息学院2013.9ReviewChapter1sequentialprogrammingUsecomputerstosolveproblemsEssentialsofprogramdesignFlowchartProgramrunningProblem-solvingprocessSequentialpro

2、gramming复习第第1章章顺序程序设计顺序程序设计用计算机解决问题的方法用计算机解决问题的方法程序设计要素程序设计要素流程图流程图程序运行过程程序运行过程解决问题的过程解决问题的过程顺序程序设计顺序程序设计Chapter 2 Using ArrayArrayarefrequentlyusedinstoringdatainprogramdesign.Almosteverykindofprogramminglanguageprovidesaarraydatastructure,suchasCandBasicprovideone-dimensional,multi-dimensionalarra

3、y.Pythonprovidestherichest,themostflexible,andthemostpowerfulformsinprogramdesign.Thischapterdescribesthearraystructures(lists,tuples,dictionaries)inPython,andhowtousethemtoachievesimpleandpowerfulprograms.第第2章章 使用序列使用序列序列序列是程序设计中经常用到的数据存储方式,是程序设计中经常用到的数据存储方式,几乎每一种程序设计语言都提供了表格数据结几乎每一种程序设计语言都提供了表格数据结

4、构,如构,如C和和Basic中的一维、多维数组等。中的一维、多维数组等。Python提供的提供的序列序列类型在所有程序设计语言类型在所有程序设计语言中是最丰富,最灵活,也是功能最强大的。中是最丰富,最灵活,也是功能最强大的。本章介绍使用本章介绍使用Python中常用的中常用的序列序列结构(列结构(列表、表、元组、元组、字典)来实现一些简单而又功能强字典)来实现一些简单而又功能强大的程序。大的程序。2.1 Array ProblemQ2-1DatasortingDescription:Read5datafromthekeyboard,outputinascendingorder.Solution

5、s1:Usefivevariablestostoredata,compareandsort.2.1 序列序列问题问题【问题问题2-1】数据排序问题数据排序问题问题描述:由用户从键盘输入问题描述:由用户从键盘输入五五个数据,按升个数据,按升序排序后输出。序排序后输出。解决方案一:用解决方案一:用五五个变量来存储输入的个变量来存储输入的五五个数个数据,再用一一比较和交换来达到排序的目的。据,再用一一比较和交换来达到排序的目的。2.1 序列序列问题问题问题问题2-1程序:程序:#datasortQues2_1_0.pyx1=input(请输入第请输入第1个元素个元素:)x2=input(请输入第请输

6、入第2个元素个元素:)x3=input(请输入第请输入第3个元素个元素:)x4=input(请输入第请输入第4个元素个元素:)x5=input(请输入第请输入第5个元素个元素:)#将将第第1个元素排好序个元素排好序ifx1x2:x1,x2=x2,x1ifx1x3:x1,x3=x3,x1ifx1x4:x1,x4=x4,x1ifx1x5:x1,x5=x5,x1#将将第第2个元素排好个元素排好ifx2x3:x2,x3=x3,x2ifx2x4:x2,x4=x4,x2ifx2x5:x2,x5=x5,x2#将将第第3个元素排好个元素排好ifx3x4:x3,x4=x4,x3ifx3x5:x3,x5=x5,x

7、3#将将第第4个元素排好,则第个元素排好,则第5个也排好个也排好ifx4x5:x4,x5=x5,x4#输出排序结果输出排序结果printx1,x2,x3,x4,x52.1 Array ProblemShortcomingofSolution1:NeedtodefinemanyvariablestostoredataTheprogramisnotcomplex,buttedious,error-proneWhensortingmoredata,suchas50,theprogrammingbecomesintolerableWhensortingevenmoredata,suchas1000,i

8、twillberidiculoustowriteaprograminthisway.2.1 序列序列问题问题解决方案一存在的问题:解决方案一存在的问题:需要定义多个变量来存储数据需要定义多个变量来存储数据程序虽不复杂,但很繁琐,写起来容易出错程序虽不复杂,但很繁琐,写起来容易出错当当待待排序数据达到一定量,如排序数据达到一定量,如50个时,这样的个时,这样的编程方式变得无法忍受编程方式变得无法忍受当当待待排序数据达到一定量,如排序数据达到一定量,如1000个时,这样个时,这样的程序无法编,无法看的程序无法编,无法看2.1 Array ProblemSolution2:UseListAnalys

9、is:Inputtendata,andstoretheminalistUsepythonssort()methodtosortthelistdataandoutput.结束结束输出排序后的结果输出排序后的结果开始开始用用sort()方法对列表中数据进行排序方法对列表中数据进行排序输入输入10个数据个数据存放在列表中存放在列表中图图2-1 2-1 数据排序流程图数据排序流程图2.1 序列序列问题问题解决方案二:解决方案二:使用列表使用列表分析:分析:将用户输入的十个数将用户输入的十个数据存放到一个列表中据存放到一个列表中用用python的的sort()方方法对列表中数据进行法对列表中数据进行排序

10、后输出。排序后输出。结束结束输出排序后的结果输出排序后的结果开始开始用用sort()方法对列表中数据进行排序方法对列表中数据进行排序输入输入10个数据个数据存放在列表中存放在列表中图图2-1 2-1 数据排序流程图数据排序流程图2.1 序列序列问题问题问题问题2-2程序:程序:#datasort:Ques2_1.pydata_list=#初始化一个空列表初始化一个空列表#循环十次,输入十个数字放到列表中循环十次,输入十个数字放到列表中forintegerinrange(10):x=input(请输入第请输入第+str(integer+1)+个元素:个元素:)data_list=data_lis

11、t+xprint排序前数据:排序前数据:,data_list#用用sort方法对列表中的数据进行排序方法对列表中的数据进行排序data_list.sort()print排序后数据:排序后数据:,data_list方案二优点:方案二优点:不管数据量多大,只用定义一不管数据量多大,只用定义一个列表变量个列表变量程序简单,程序代码量不随数程序简单,程序代码量不随数据量变大而增加据量变大而增加程序可以调用程序可以调用Python内置函数内置函数来实现排序来实现排序2.1 序列序列问题问题输入及程序运行结果:输入及程序运行结果:请输入第请输入第1个元素:个元素:54请输入第请输入第2个元素:个元素:23

12、请输入第请输入第3个元素:个元素:67请输入第请输入第4个元素:个元素:84请输入第请输入第5个元素:个元素:41请输入第请输入第6个元素:个元素:68请输入第请输入第7个元素:个元素:34请输入第请输入第8个元素:个元素:56请输入第请输入第9个元素:个元素:98请输入第请输入第10个元素:个元素:61排序前数据:排序前数据:54,23,67,84,41,68,34,56,98,61排序后数据:排序后数据:23,34,41,54,56,61,67,68,84,982.1 Array ProblemQ2-3DictionaryproblemDescription:Accordingtothek

13、eyword(abbreviations)fromusersinput,findnamecorrespondingexplanationAnalysis:somewordsarestoredinthedictionary,thekeyisthefirstletteroftheword,thevalueistheexplanationoftheword.Theuserentersavalidletter,theprogramqueriesthecorrespondingwordandoutputit.Iftheinputisoutofrange,theprogramends.2.1 序列序列问题

14、问题【问题问题2-3】查字典问题查字典问题问题描述:根据用户输入的关键字的简写查询问题描述:根据用户输入的关键字的简写查询相应名称解释。相应名称解释。分分析:将一些程序设计中常用名称存放在析:将一些程序设计中常用名称存放在字典中,键是其英文的第一个字母,值是该名字典中,键是其英文的第一个字母,值是该名称的解释。由用户输入要查询的名称的英语第称的解释。由用户输入要查询的名称的英语第一个字母,若在合法的范围内则进行查询、输一个字母,若在合法的范围内则进行查询、输出,若不在范围内则结束程序。出,若不在范围内则结束程序。2.1 序列序列问题问题算法流程图:算法流程图:开始开始定义字典定义字典结束结束图

15、图2-2 2-2 查字典流程图查字典流程图输入输入ae范围内的字母范围内的字母输出查字典的结果输出查字典的结果2.1 序列序列问题问题问题问题2-3程序:程序:#DictionarySearch:Ques2_3.py#定义字典定义字典dic=a:algorithm,算法,解决一种问题的大致步骤,算法,解决一种问题的大致步骤,b:bug,臭虫,程序里的错误,臭虫,程序里的错误,c:compile,编译,编译,把用高级程序语言写的程序转换成低级语言把用高级程序语言写的程序转换成低级语言,d:debugging,除虫,找到及移除程序设计错误的过,除虫,找到及移除程序设计错误的过程程,e:except

16、ion,异常,执行错误的另一个名称,异常,执行错误的另一个名称#输入要查询的关键字以便进行字典查询输入要查询的关键字以便进行字典查询keyword=raw_input(请输入要查询的名词关键字(请输入要查询的名词关键字(ae):)#输入输入ae之间的关键字则进行查询,否则结束程序之间的关键字则进行查询,否则结束程序whilekeyword=aandkeyword2.2 Array BasicsArray:Aseriesofvalues,whichareusuallyrelatedto,andinacertainorder.Arrayc:Include12integerelementsUseAr

17、ray:ArraynamepositionnumberThepositionofthefirstelementis0,c0Thesecondelementisc1Thei-thelementisci-1Arraycanalsobeaccessedfromtherear:Thelastelementisc-1Penultimate2isc-2PositionnumberalsoknownasthesubscriptorIndex2.2 序列基础知识序列基础知识序列:序列:一系列连续值,它们通常是相关的,并且按一定一系列连续值,它们通常是相关的,并且按一定顺序排列。顺序排列。序列序列c:12个整数

18、元素个整数元素引用元素:序列名引用元素:序列名位置编号位置编号第第1个元素的位置编号为个元素的位置编号为0,c0第第2个元素是个元素是c1第第i个元素是个元素是ci-1序列也可以从尾部访问序列也可以从尾部访问:最后一个元素是最后一个元素是c-1倒数第倒数第2个是个是c-2倒数第倒数第i个元素是个元素是c-i位置编号位置编号也称也称“下标下标”或或“索引索引”,是整数或整数表达式。,是整数或整数表达式。2.3 ListList:Alistisanorderedsetofvalues,whereeachvalueisidentifiedbyanindex.Theelementsofalistcan

19、beanytypeEachdatainthelistcalledanelementAllitselementsareseparatedbycommasandplacedinthebracketandListofexamples:10,20,30,40#Alltheelementsareintegerdatacrunchyfrog,rambladder,larkvomit#Alltheelementsarestringsspam,2.0,5,10,20#Thelistcontainsastringelement,afloating-pointtypeelement,anintegerelemen

20、tsandalist2.3 列表列表列表:列表:是是Python中内置数据类型,是一个元素的有序集合中内置数据类型,是一个元素的有序集合一个列表中的数据类型可以各不相同一个列表中的数据类型可以各不相同列表中的每一个数据称为元素列表中的每一个数据称为元素其所有元素用逗号分割并放在一对中括号其所有元素用逗号分割并放在一对中括号“”和和“”中中列表举例:列表举例:10,20,30,40#所有元素都是整型数据的列表所有元素都是整型数据的列表crunchyfrog,rambladder,larkvomit#所有所有元素都是字符串的列表元素都是字符串的列表spam,2.0,5,10,20#该列表中包含该列

21、表中包含了一个字符串元素、一个浮点类型元素、一个整型元素了一个字符串元素、一个浮点类型元素、一个整型元素和一个列表类型元素和一个列表类型元素2.3 List(1)Create:usethe=toassignalisttoavariable.Forexample:a_list=a,b,mpilgrim,z,example(2)ReadelementsWecanaccessanelementinthelistbyusingthevariablenameandanindexnumber.Payattentiontothelistofthefirstelementsofaserialnumber0.F

22、orexample:printa_list2mpilgrimNote:Ifalisthasnelements,thenthevalidrangeisfrom-nton-1,whentheindexnumberxisnegative,indicatingthatthecountingstartsfromtheright,andtheactualindexnumberoftheelementisn+x.2.3 列表列表(1)创建列表:使用)创建列表:使用“=”将一个列表赋值给变量。将一个列表赋值给变量。例如:例如:a_list=a,b,mpilgrim,z,example(2)读取元素)读取元素用

23、变量名加元素序号(放中括号中)即可访问列表中某用变量名加元素序号(放中括号中)即可访问列表中某个元素,注意列表的第一个元素序号为个元素,注意列表的第一个元素序号为0。例如:例如:printa_list2mpilgrim注意:若一个列表有注意:若一个列表有n个元素,则访问元素的合法序号范个元素,则访问元素的合法序号范围是围是-nn-1,当序号,当序号x为负时,表示从右边计数,其访为负时,表示从右边计数,其访问的元素实际为序号为问的元素实际为序号为n+x的元素。的元素。2.3 列表列表例如:例如:print(a_list-1)exampleprint(a_list-5)aprint(a_list-

24、7)Traceback(mostrecentcalllast):File,line1,inprint(a_list-7)IndexError:listindexoutofrangeprint(a_list5)Traceback(mostrecentcalllast):File,line1,inprint(a_list5)IndexError:listindexoutofrangea_list=a,b,mpilgrim,z,example2.3 List(3)SlicesUsearangeofindexestointerceptanypartofthelisttogetanewlist.Thef

25、irstnumberrepresentstheslicestartposition,andthesecondnumberrepresentstheslicecutoff(butdoesnotcontain)position.Forexample:print(a_list1:3)b,mpilgrimprint(a_list1:-1)b,mpilgrim,za_list=a,b,mpilgrim,z,example2.3 列表列表(3)列表切片)列表切片可以使用可以使用“列表序号对列表序号对”来截取列表中的任何部分来截取列表中的任何部分,从而得到一个新列表。序号对中第一个序号表示切片从而得到一个新

26、列表。序号对中第一个序号表示切片开始位置,第二个序号表示切片截止(但不包含)位开始位置,第二个序号表示切片截止(但不包含)位置。置。例如:例如:print(a_list1:3)b,mpilgrimprint(a_list1:-1)b,mpilgrim,z2.3 列表列表注意:当切片的左索引为注意:当切片的左索引为0时可时可缺省缺省,当右索引,当右索引为列表长度时也可为列表长度时也可缺省缺省。例如:例如:print(a_list:3)a,b,mpilgrimprint(a_list3:)z,exampleprint(a_list:)a,b,mpilgrim,z,examplea_list=a,b

27、,mpilgrim,z,example2.3 List(4)AddingelementsMethod1:Usethe“+”toattachanewlistinthetailofaoriginallista_list=1a_list=a_list+a,2.0a_list1,a,2.0Method2:Usesappend()methodtoaddanewelementtotheendofalist;a_list.append(True)a_list1,a,2.0,True2.3 列表列表(4)增加元素)增加元素方法一:方法一:使用使用“+”将一个新列表附加在原列表的尾部;将一个新列表附加在原列表的

28、尾部;a_list=1a_list=a_list+a,2.0a_list1,a,2.0方法二:方法二:使用使用append()方法向列表尾部添加一个新元素;方法向列表尾部添加一个新元素;a_list.append(True)a_list1,a,2.0,True2.3 ListMethod3:Usetheextend()methodtoaddalistatthetailoftheoriginallist;a_list.extend(x,4)a_list1,a,2.0,True,x,4Method4:Usetheinsert()methodtoaddanelementintothelistanyw

29、here.a_list.insert(0,x)a_listx,1,a,2.0,True,x,42.3 列表列表方法三:使用方法三:使用extend()方法将一个列表添加在原列表的方法将一个列表添加在原列表的尾部;尾部;a_list.extend(x,4)a_list1,a,2.0,True,x,4方法四:使用方法四:使用insert()方法将一个元素插入到列表的任方法将一个元素插入到列表的任意位置。意位置。a_list.insert(0,x)a_listx,1,a,2.0,True,x,42.3 List(5)SearchUsecount()methodtocalculatethenumber

30、ofanelementinthelist;a_list.count(x)2Use”in”Operatorcheckingwhetheranelementisinthelist;3ina_listFalse2.0ina_listTruea_list=x,1,a,2.0,True,x,42.3 列表列表(5)检索元素)检索元素使用使用count()方法计算列表中某个元素出现的次数;方法计算列表中某个元素出现的次数;a_list.count(x)2使用使用in运算符返回某个元素是否在该列表中;运算符返回某个元素是否在该列表中;3ina_listFalse2.0ina_listTrue2.3 列表列表

31、Usetheindex()methodtoreturntheexactlocationofanelementinthelist;使用使用index()方法返回某个元素在列表中的准确位置;方法返回某个元素在列表中的准确位置;a_list.index(x)0a_list.index(5)Traceback(mostrecentcalllast):File,line1,ina_list.index(5)ValueError:5isnotinlista_list=x,1,a,2.0,True,x,42.3 List(6)DeleteanelementWhenaddingorremovingelemen

32、ts,thelistwillautomaticallyexpandorshrink.Thelistwillneverhavegaps.Method1:Usethe“del”statementtodeletetheelementsataparticularlocationdela_list1a_listx,a,2.0,True,x,4a_list=x,1,a,2.0,True,x,42.3 列表列表(6)删除元素)删除元素当向列表中添加或删除元素时,列表将自动拓展或收缩,列表中永远不会有缝隙。方法一:方法一:使用del语句删除某个特定位置的元素dela_list1a_listx,a,2.0,Tr

33、ue,x,42.3 列表列表Method2:Use“remove()”methodtoremoveanelementwithaparticularvalue方法二:使用方法二:使用remove方法删除方法删除某个特定值的元素某个特定值的元素a_list.remove(x)a_lista,2.0,True,x,4a_list.remove(x)a_lista,2.0,True,4a_list.remove(x)Traceback(mostrecentcalllast):File,line1,ina_list.remove(x)ValueError:list.remove(x):xnotinlis

34、ta_list=x,a,2.0,True,x,42.3 列表列表Methodthree:Usepop()methodtopopouttheelementatthespecifiedlocation.Thelastelementispoppedoutifnoparametersgiven.方法三:使用方法三:使用pop(参数参数)方法来弹出(删除)指定位置的元素,缺省参方法来弹出(删除)指定位置的元素,缺省参数时弹出最后一个元素。数时弹出最后一个元素。a_list.pop()4a_lista,2.0,Truea_list.pop(1)2.0a_lista,Truea_list.pop(1)Tru

35、ea_listaa_list.pop()aa_lista_list.pop()Traceback(mostrecentcalllast):File,line1,ina_list.pop()IndexError:popfromemptylist2.3.3 Function of the list1.cmp()Format:cmp(List1,List2)Function:Comparethetwolists,returns1whenthefirstlistisgreaterthanthesecond,onthecontraryreturns-1,whenthetwoelementsoftheli

36、stisthesamereturns02.len()Format:len(List)Function:Returnsthenumberofelementsinthelist2.3.3 列表列表常用函数常用函数1.cmp()格式:格式:cmp(列表列表1,列表,列表2)功能:功能:对两个列表进行比较,若第一个列表大于对两个列表进行比较,若第一个列表大于第二个,则结果为第二个,则结果为1,相反则为,相反则为-1,元素完全,元素完全相同则结果为相同则结果为0。2.len()格式:格式:len(列表列表)功能:功能:返回列表中的元素个数。返回列表中的元素个数。2.3.3 Function of the

37、 listlist1=123,xyzlist2=123,abccmp(list1,list2)1list2=123,zcmp(list1,list2)-1list2=list1cmp(list1,list2)0len(list1)22.3.3 Function of the list3.max(),min()Format:max(List),min(List)Function:Returnthelargestorsmallestelementintheliststr_l=abc,xyz,123num_l=123,456,222max(str_l)xyzmin(str_l)123max(num_

38、l)456min(num_l)1232.3.3 列表列表常用函数常用函数3.max()和和min()格式:格式:max(列表列表),min(列表列表)功能:功能:返回列表中返回列表中的最大或最小元的最大或最小元素。素。str_l=abc,xyz,123num_l=123,456,222max(str_l)xyzmin(str_l)123max(num_l)456min(num_l)1232.3.3 Function of the list4.sorted()reversed()Format:sorted(List),reversed(List)Function:SortingorReverse

39、list=1,4,3,6,9,0,2forxinreversed(list):printx,2096341sorted(list)0,1,2,3,4,6,9sorted(list,reverse=True)9,6,4,3,2,1,02.3.3 列表列表常用函数常用函数4.sorted()和和reversed()格式:格式:sorted(列表列表),reversed(列表列表)功能:功能:前者的功能是对前者的功能是对列表进行排序,默列表进行排序,默认是按升序排序,认是按升序排序,还可在列表的后面还可在列表的后面增加一个增加一个reverse参数,其等于参数,其等于True则表示按降序排序;则表示

40、按降序排序;后者的功能是对列后者的功能是对列表进行逆序。表进行逆序。list=1,4,3,6,9,0,2forxinreversed(list):printx,2096341sorted(list)0,1,2,3,4,6,9sorted(list,reverse=True)9,6,4,3,2,1,02.3.3 Function of the list5.sum()Format:sum(List),Function:Summingthenumericallistofelementssum(list)25sum(str_l)Traceback(mostrecentcalllast):File,li

41、ne1,insum(str_l)TypeError:unsupportedoperandtype(s)for+:intandstr2.3.3 列表列表常用函数常用函数5.sum()格式:格式:sum(列表列表)功能:功能:对数值型列表的元素进行求和运算,对非数值型对数值型列表的元素进行求和运算,对非数值型列表运算则出错。列表运算则出错。sum(list)25sum(str_l)Traceback(mostrecentcalllast):File,line1,insum(str_l)TypeError:unsupportedoperandtype(s)for+:intandstr上机作业上机作业1.将本章课件中涉及的所有源程序在将本章课件中涉及的所有源程序在Python下输入、调试并运行;下输入、调试并运行;上交。上交。(不需要书面版不需要书面版)2.将本章课件中所有的交互式命令在将本章课件中所有的交互式命令在Python的的IDLE中调试;中调试;存盘、上交。存盘、上交。(不需要书面版不需要书面版)3.习题习题2.14.习题习题2.2

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服