My_Project

资料整理


Python-流程控制语句

<p>1、代码执行顺序</p> <pre><code>Python 代码正常情况下执行的顺序是从左到右从上到下的,但是在流程控制当中不是这样的。</code></pre> <p>2、判断语句</p> <pre><code>2.1、if判断 说明 判断语句,只有满足if条件才会执行if下的语句块。 if:可以有N个。 elif:可以有N个。 else: 只能有1个,有时else可以不写(不写时,默认对不符合if和elif的不做处理)。 案例-1 i = 10 if i == 1: print("T1") elif i == 2: print("T2") elif i == 3: print("T3") else: print("F") 输出: F 案例-2 i = 10 if i == 1: print("T1") elif i == 2: print("T2") elif i == 10: print("T10") else: print("F") 输出: T10 2.2、if判断要注意的点 (1)判断条件的,判断条件范围大的要放下面。 案例-1 i = 10 if i &lt; 100: print("&lt; 100") elif i &lt; 30: print("&lt; 30") 输出: &lt; 100 案例-2 i = 10 if i &lt; 30: print("&lt; 30") elif i &lt; 100: print("&lt; 100") 输出: &lt; 30 (2)区分if elif 和 if if的区别 &lt;1&gt;if elif 是一个判断,一个条件执行之后就不会有第二个条件执行。 &lt;2&gt;if if 是两个不同的判断,互不影响。 案例-1 i = 10 if i &lt; 30: print("&lt; 30") elif i &lt; 100: print("&lt; 100") 输出: &lt; 30 案例-2 i = 10 if i &lt; 30: print("&lt; 30") if i &lt; 100: print("&lt; 100") 输出: &lt; 30 &lt; 100 2.3、嵌套判断 说明 内层是在外层成立的前提下成立。 案例 num = 18 if num &lt; 15: if num &gt; 8: /大于8的前提是要先满足小于15 print("8 &lt; num &lt; 15") else: if num &gt; 17: /大于17的前提是要先满足大于等于15 print("num &gt; 17") 输出: num &gt; 17</code></pre> <p>3、程序结构</p> <pre><code>3.1、顺序结构 编写完毕的语句按照编写顺序依次被执行,从上往下执行,从左往右。 3.2、选择结构 根据条件语句的结构选择执行不同的语句。 格式 if 条件1: 语句1 elif 条件2: 语句2 elif 条件3: 语句3 else: 语句4 案例 求1-100的之间所有偶数的和,奇数的和? ''' num % 2 ==0 #偶数 num % 2 !=0 #奇数 oushuSum = 0 # 存放所有的偶数的和 jishuSum = 0 # 存放所有的奇数的和 从1-100之间去循环的取数,一个一个取出来,取出一个判断是偶数还是奇数, 如果是偶数,叠加到oushuSum, 如果是奇数,叠加到jishuSum。 ''' oushuSum = 0 jishuSum = 0 /从1-100之间去循环的取数,一个一个取出来。 for i in range(1,101): /判断,并累加 if i%2 == 0: /说明i是偶数 oushuSum = oushuSum + i else: /说明i是奇数 jishuSum = jishuSum + i print('偶数和为:%d\n奇数和为:%d' %(oushuSum,jishuSum)) 输出: 偶数和为:2550 奇数和为:2500 3.3、循环结构 在一定条件下反复执行某段程序的流程结构。</code></pre> <p>4、选择语句</p> <pre><code>4.1、最简单的if语句 语法形式 if 表达式: 语句块 说明 (1)表达式"可以是布尔值、变量、比较表达式、逻辑表达式(例如:a&gt;b and a!=c)。 (2)如果表达式的值为真,则执行"语句块",为假就跳过"语句块"继续执行后面的语句。 (2)相当于汉语里的"如果...就..."。 4.2、if...else语句 语法形式 if 表达式: 语句块1 else: 语句块2 说明 (1)"表达式"可以是布尔值、变量、比较表达式、逻辑表达式(例如:a&gt;b and a!=c)。 (2)如果满足条件,则执行if后面的"语句块",否则执行else后面的语句块。 (3)相当于汉语里的"如果...否则..."。 4.3、if...elif...else语句 语法形式 if 表达式1: 语句块1 elif 表达式2: 语句块2 elif 表达式3: 语句块3 ... else: 语句块n 说明 (1)"表达式"可以是布尔值、变量、比较表达式、逻辑表达式(例如:a&gt;b and a!=c)。 (2)如果表达式的值为真,则执行"语句块",为假就跳过"语句块",进行下一个elif的判断,只有在所有表达式都为假的时候才会执行else中的语句。 (3)if和elif都需要判断表达式的真假,而else则不需要判断;另外,elif和else都必须和if一起使用,不能单独使用。 4.4、if语句的嵌套 语法形式1 在最简单的if语句中嵌套if...else语句 if 表达式1: if 表达式2: 语句块1 else: 语句块2 语法形式2 在if...else语句中嵌套if...else语句 if 表达式1: if 表达式2: 语句块1 else: 语句块2 else: if 表达式3: 语句块3 else: 语句块4 注:if选择语句可以有多种嵌套方式,在开发程序时,可以根据需要选择合适的嵌套方式,但是一定要严格控制好不同级别代码块的缩进量。</code></pre> <p>5、条件表达式</p> <pre><code>说明 在程序开发时,经常会根据表达式的结果,有条件的进行赋值。例如要返回2个数中的较大的数,可以使用下面的if语句。 案例 a = 10 b = 6 if a&gt;b: r = a else: r = b 说明 在使用条件表达式时,先计算中间的条件(a&gt;b),如果结果为True,返回if语句左边的值,否则返回else右边的值。 python中提供的条件表达式,可以根据表达式的结果进行有条件的赋值。 案例 以上代码可简化为: a = 10 b = 6 r = a if a &gt; b else b</code></pre> <p>6、循环语句</p> <pre><code>6.1、说明 (1)重复一定次数的循环,称为计次循环,如for循环。 (2)一直重复,直到条件不满足时才结束的循环,称为条件循环。只要条件为真这种循环会一直持续下去,如while循环。 (3)在其他语言中(C、C++、Java等),条件循环还包括do...while。但是在python中没有do...while循环。 6.2、while循环 语法形式 while条件表达式: 循环体 说明 (1)条件循环,通过一个条件来控制是否要继续反复执行循环体中的语句。 (2)循环体是指一组被重复执行的语句。 (3)变量i的值不会自动增加,需要增加一条i=i+1/需要赋予i一个存储值0。 案例 i = 0 while i &lt; 10: print(i,end = " ") i = i + 1 print(i,end = " ") 输出:0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10</code></pre> <p>6.3、for循环</p> <pre><code>6.1、说明 (1)计次循环,一般应用在循环次数已知的情况下。通常适用于枚举或遍历序列以及迭代对象中的元素。 (2)迭代变量用于保存读取的值。 (3)对象为要遍历或迭代的对象,该对象可以是任何有序的序列对象,如字符串、列表、元组等;循环体为一组被重复执行的语句。 (4)for循环语句可以循环数值、遍历字符串\列表、元组\集合\字典等。 (5)实质上是将后面可迭代对象的元素依次赋值给前面的变量,每赋值一次,执行一次语句块,也就是一次循环。 6.2、语法形式 for 迭代变量in对象: 循环体 6.3、for循环与其他语言的区别 其他语言: for(var int = 1,i &lt; 3,i++) { block } for循环: Python当中采用的是 for in 结构,迭代器原理。 6.4、特殊的for循环 m,n = (1,2) m,n = (3,4) m,n = (5,6) for m,n in [(1,2),(3,4),(5,6)]: print("m:%s"%m) 输出: m: 1 m: 3 m: 5 m,n = (1,2) m,n = (3,4) m,n = (5,6) for m,n in [(1,2),(3,4),(5,6)]: print("m:%s"%m,"n:%s"%n) 输出: m: 1 n: 2 m: 3 n: 4 m: 5 n: 6 6.5、enumerate枚举 说明 指出序列的索引 string = "abcd" str = enumerate(string) print(string) print(str) 输出: abcd &lt;enumerate object at 0x0000016A425FB240&gt; 6.6、循环数值 案例 print("计算1+2+...+100的结果为:") result = 0 /保存累加结果的变量 for i in range(101): result = result + 1 /累加 print(result) 说明 见[内置函数]-range() 6.7、遍历字符串 案例 string = "YES我可以!" print(string) for i in string: print(i) 结果: YES我可以! Y E S 我 可 以 !</code></pre> <p>6.4、嵌套循环</p> <pre><code>说明 (1)循环嵌套指的是一个循环嵌入另一个循环中。 (2)在Python中,for和while循环都可以进行循环嵌套。 (3)除了以下4种嵌套外,还可以实现更多层的嵌套,方法与下面类似。 语法形式-1——while循环中嵌套while循环 while条件表达式1: while条件表达式2: 循环体2 循环体1 语法形式-2——while循环中嵌套for循环 while条件表达式1: for 迭代变量 in 对象: 循环体2 循环体1 语法形式-3——for循环中嵌套for循环 在循环的内部嵌套其他循环,外部循环一次,内部循环一遍。 for 迭代变量 in 对象1: for 迭代变量 in 对象2: 循环体2 循环体1 案例-1 在外层循环打印i,在内层循环打印j;外层循环打印1次,内层循环打印1遍。 for i in range(2): print(i,end = " ") for j in "ab": print(j,end = " ") 输出:0 a b 1 a b 案例-2 只打印内层循环,内层循环全部打印1遍。 for i in [range(2),range(3),range(4)]: for j in i: print(j,end='') 输出:010120123 案例-3 for循环中嵌套while循环 for 迭代变量 in 对象1: while条件表达式2: 循环体2 循环体1</code></pre> <p>6.5、While循环和for循环的区别</p> <pre><code>(1)while循环特点: &lt;1&gt;for循环是一个广度遍历,而 while 循环是一个深度遍历。 &lt;2&gt;while循环,指当满足while的条件的时候,就一直循环执行while的语句块,直到不满足。 &lt;3&gt; 假设:条件一直满足,那么就形成了死循环;在Python当中默认的死循环的条件是True。 (2)死循环应用: &lt;1&gt;死循环会阻塞程序运行。 &lt;2&gt;死循环多数用于图形化、ATM取款机、游戏等可视化的主循环。 退出死循环:ctrl+c 案例-1-死循环 while True: print("OK",end = " ") 输出:OK OK OK OK OK... 案例-2 #打印5行10列效果 for x in range(5): for y in range(10): print(x,y), print() 注: ","是用来让print忽略换行打印的。 打印一个空,目的是让它换行。</code></pre> <p>7、跳转语句</p> <pre><code>7.1、break语句 说明 (1)跳出上一层循环 ,终止整个循环,包括while和for在内的所有控制语句。 (2)一般会结合if语句进行搭配使用,表示在某种条件下,跳出循环。 (3)如果使用嵌套循环,break语句将跳出最内层的循环。 (4)生活案例:原计划围着操场跑10圈,第2圈中途停下,不跑了。 语法形式-1-在while中使用break语句 while条件表达式1: 执行代码 if条件表达式2: break 语法形式-2-在for中使用break语句 for迭代变量in对象: if条件表达式: break 案例 for i in range(1,10): if i%2 == 0: break else: print(i,end = " ") 输出:1 7.2、continue语句 语法形式-1-在while中使用break语句 while条件表达式1: 执行代码 if条件表达式2: continue 语法形式-2-在for中使用break语句 for迭代变量in对象: if条件表达式: continue 说明 (1)跳出本次循环,结束本次循环,对此本次循环后面的代码不运行了,然后提前进入下一轮的循环,执行下一轮的代码。 (2)生活案例:原计划围着操场跑10圈,第2圈中途停下,不跑了,回到起点从第3圈继续开始跑。 (3)如果使用嵌套循环,continue语句将跳出最内层循环的剩余部分。 案例 for i in range(1,10): if i%2 == 0: continue else: print(i,end = " ") 输出:1 3 5 7 9</code></pre> <p>8、pass空语句</p> <pre><code>说明 1、pass 写在任何缩进的语句块部分,只是占位,什么事情都不做,为了满足 python 的语法要求。 案例 for i in range(1,10): if i%2 == 0: print(i,end = " ") else: pass 输出:2 4 6 8</code></pre>

页面列表

ITEM_HTML