




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python编程基础06-2月-241循环目录条件分支语句2
嵌套循环3列表解析4if布尔表达式1:
分支注意,每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块。使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。if语句的基本结构if语句实现条件分支,需要用到布尔表达式,格式如下。标准值False和None,数字0和所有空序列都为False,其余的单个对象都为True。在表达式运算的过程中,True会视为数值1,False会视为数值0,这与其他编程语言是相似的。逻辑表达式是布尔表达式的一种,逻辑表达式指的带逻辑操作符或比较操作符(如>,==)的表达式。if语句的基本结构布尔表达式满足条件返回真>>>score=91>>>score>=90&score<=100True程序只对成绩进行了一次判断,条件满足的时候,则返回真,打印的结果就是“本次考试:成绩等级为A”。>>>score=91>>>ifscore>=90&score<=100:…print('本次考试,成绩等级为:A')本次考试,成绩等级为:Aif语句的基本结构示例if布尔表达式1:
分支一elif布尔表达式2:
分支二else:
分支三多路分支if语句设置多路分支的一般格式如下。程序会先计算第一个布尔表达式,如果结果为真,则执行第一个分支的所有语句;如果为假,则计算第二个布尔表达式;如果第二个布尔表达式结果为真,则执行第二个分支的所有语句;如果结果仍然为假,则执行第三个分支的所有语句。如果只有两个分支,那么不需要elif,直接写else即可,如果有更多的分支,那么需要添加更多的elif语句。Python中没有switch和case语句,多路分支只能通过if-elif-else来实现。注意整个分支结构中是有严格的退格缩进要求的。多路分支描述>>>score=59>>>ifscore<60:...print('考试不及格')>>>else:...print('考试及格')考试不及格多路分支示例1循环目录条件分支语句2
嵌套循环3列表解析4到目前为止的程序都是一条一条语句顺序进行,如果要让程序重复地做一件事情,就只能重复地写相同的代码,操作比较繁琐。此时需要掌握一个重要的方法——循环。使用循环在一定情况下可以使你的代码运行效率更高。循环for循环在Python中是一个通用的序列迭代器,可以遍历任何有序的序列,如字符串、列表、元组等。程序语言的学习是一个循环的过程,与其他学科不同,程序语言的知识是相互紧扣的。Python中的for语句接受可迭代对象,如序列和迭代器作为其参数,每次循环调取其中一个元素。Python的for循环看上去像伪代码,非常简洁。for循环for循环示意图for循环对字符串,列表的遍历>>>forain['e','f','g']:... print(a)efg>>>forain'string':... print(a)stringfor循环示例while布尔表达式: 程序段while循环while循环也是最常用的循环之一,Python编程中while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。格式如下。只要布尔表达式为真,那么程序段将会被执行,执行完毕后,再次计算布尔表达式,如果结果仍然为真,那么再次执行程序段,直至布尔表达式为假。while循环示意图当s的值小于等于一的时候打印出s,这里的结果就是循环到1,,一共打印了两次计数。>>>s=0>>>while(s<=1):... print('计数:',s)... s=s+1计数:0计数:1当条件判断语句即布尔表达式一直为真时,就会进行无限次循环,无限循环可以使用CTRL+C来中断循环。while循环示例Python要像C语言的格式进行循环,实际上需要的是一个数字序列,range函数能够快速构造一个数字序列。例如range(5)或range(0,5)即为序列0,1,2,3,4。注意这里包括0,但不包括5。Python中foriinrange(5)的效果和C中for(i=0;i<5;i++)的效果是一样的。range(a,b)能够返回列表[a,a+1,…,b-1](注意不包含b),这样for循环就可以从任意起点开始,任意终点结束。range函数经常和len函数一起用于遍历整个序列。len函数能够返回一个序列的长度,foriinrange(len(L))能够迭代整个列表L的元素的索引。直接使用for循环似乎也可以实现这个目的,但是直接使用for循环难以对序列进行修改(因为每次迭代调取的元素并不是序列元素的引用),而通过range函数和len函数可以快速通过索引访问序列并对其进行修改。range函数>>>foriinrange(0,5):... print(i)#result:0,1,2,3,4>>>foriinrange(0,6,2):... print(i)0,2,4#相邻元素的间隔为3range函数示例#直接使用for循环难以改变序列元素>>>L=[1,2,3]>>>forainL:... a+=1#a不是引用,L中对应的元素没有发生改变>>>print(L)[1,2,3]#range与len函数遍历序列并修改元素>>>foriinrange(len(L)):... L[i]+=1#通过索引访问>>>print(L)[2,3,4]range函数break语句的作用,就像在C语言中,打破了最小封闭for或while循环。break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。break语句用在while和for循环中。如果使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。ontinue语句的作用是跳出本次循环,而break跳出整个循环。continue语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。pass是空语句,作用是为了保持程序结构的完整性。pass不做任何事情,一般用做占位语句。pass语句是为了保持程序结构的完整性。break、continue、pass语句1循环目录条件分支语句2
嵌套循环3列表解析4嵌套循环,顾名思义,就是在一个循环中嵌入另一个循环。而Python语言是允许在一个循环体里面嵌入另一个循环的。可以在for循环中再嵌入一个for循环,也可以在for循环中嵌入while循环,还可以在while循环中嵌入for循环,当然还有在while循环中嵌入while循环。嵌套循环>>>num=zeros(shape=(3,3))>>>foriinrange(0,3):...forjinrange(0,3):...num[i,j]=i*j>>>numarray([[0.,0.,0.],[0.,1.,2.],[0.,2.,4.]])嵌套循环示例:利用嵌套循环对数组num里面的值进行了修改,重新赋值为i*j示例:for循环和if条件语句去对数据进行判断,判断是否为质数并打印出来>>>forxinrange(10,15):#迭代10到15之间的数字 foriinrange(2,x):#根据因子迭代 ifx%i==0:#确定第一个因子 j=x/i#计算第二个因子 print('%d等于%d*%d'%(x,i,j))break#跳出当前循环 else:#循环的else部分 print(x,'是一个质数') break#跳出当前循环组合条件与循环在循环中放入条件语句,这样才可以使得循环可以做更多的事情。10等于2*511是一个质数12等于2*613是一个质数14等于2*7组合条件与循环示例结果1循环目录条件分支语句2
嵌套循环3列表解析4如果给定一个list或tuple,可以通过for循环来遍历这个list或tuple,这种遍历称之为迭代(Iteration)。在Python中,迭代是通过forin来完成的。Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上。list这种数据类型虽然有下标,但很多其他数据类型是没有下标的,但是,只要是可迭代对象,无论有无下标,都可以迭代,比如dict就可以迭代。字符串也是可迭代对象。多变量迭代字典dict的迭代展示>>>d={'a':1,'b':2,'c':3}>>>forkeyind:...print(key)acb因为dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不一样。多变量迭代示例同时引用两个变量>>>forx,yin[(1,1),(2,4),(3,9)]:>>>print(x,y)112439多变量迭代在Python中for循环同时引用两个变量也很常见列表解析是一种高效创建新列表的方式,它可以用来动态地创建列表。列表解析是Python迭代机制的一种应用,它常用于实现创建新的列表,因此用在[]中。列表解析也可以称之为列表推导式。列表解析式完全可以替换内建的map函数以及lambda,而且效率更高。列表解析式不仅可以运用到嵌套循环中,还可以在其中增加条件判断语句。列表解析式实现效率更高,且代码更加简洁。列表解析>>>map(lambdax:x**3,range(6))#计算x的三次幂[0,1,8,27,64,125]>>>[x**3forxinrange(6)][0,1,8,27,64,125]>>>seq=[1,2,3,4,5,6,7,8]#当x%2为1时取值>>>filter(lambdax:x%2,seq)[1,3,5,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商务会议参会人员管理与服务合同
- 外聘教师师德管理制度
- 定向军士日常管理制度
- 锅炉复习测试题
- 辨别公路工程常见陷阱的试题及答案
- 计算机网络工程师试题及答案
- 能源经济与管理知识梳理与试题
- 在全市中小学论坛上的发言:做有温度的教育摆渡人
- 2025转正述职报告范文(15篇)
- 农业经济管理现代农业生产技术试题
- 田亩转户协议书
- 资产委托购买协议书
- 庭院绿化养护合同协议书
- 2025年MySQL开发趋势试题及答案研究
- 山东省济宁市2025年高考模拟考试化学试题及答案(济宁三模)
- 胃癌护理个案护理
- 违约就业协议书
- 2025年汽车经销行业深度研究报告
- 河南2025年生态环境部黄河流域生态环境监督管理局生态环境监测与科学研究中心招聘笔试历年参考题库附带答案详解
- (高清版)DG∕TJ 08-2165-2015 建设项目交通影响评价技术标准
- 《人工智能通识导论(慕课版)》全套教学课件
评论
0/150
提交评论