序
首先我们知道程序的执行有三种结构:顺序、选择、循环三种结构,而为了方便我们书写和多次利用我们就需要把一段代码封装器来,这就是方法。今天我就说的是程序的基本结构的格式和方法。
注:所有的程序都可以通过基本结构(顺序,选择,循环)书写出来。
流程结构
顺序结构语句
- 1:什么是流程控制语句
- 流程控制语句:可以控制程序的执行流程。
- 2:流程控制语句的分类
- 顺序结构
- 选择结构
- 循环结构
- 3:执行流程:
- 从上往下,依次执行。
选择结构语句
if 语法
- if-else的使用格式
if 条件:
满足条件时要做的事情1
...(省略)...
else:
不满足条件时要做的事情1
...(省略)...
- elif的功能
if 条件1:
满足条件1时要做的事情
...
elif 条件2:
不满足条件1,满足条件2时要做的事情
...
else:
不满足条件1,2时要做的事情
...
and…or语法
Python的and/or操作与其他语言不同的是它的返回值是参与判断的两个值之一,所以我们可以通过这个特性来实现Python下的 a ? b : c !
Python下我们可以这么用:“ a and b or c ”(此方法中必须保证b必须是True值),python自左向右执行此句,先判断a and b :如果a是True值,a and b语句仍需要执行b,而此时b是True值!所以a and b的值是b,而此时a and b or c就变成了b or c,因b是True值,所以b or c的结果也是b;如果a是False值,a and b语句的结果就是a,此时 a and b or c就转化为a or c,因为此时a是 False值,所以不管c是True 还是Flase,a or c的结果就是c
当bool and a or b相当于bool? a: b
注:但是特殊情况是,若a为假,则不会相当于,而是返回b
解决办法:用 (bool and [a] or [b])[0]代替
循环结构
while语法
while 条件:
条件满⾜时,做的事情1
条件满⾜时,做的事情2
条件满⾜时,做的事情3
...(省略)...
for语法
for 临时变量 in 列表或者字符串等:
循环满⾜条件时执⾏的代码
else:
循环不满⾜条件时执⾏的代码
例子
name = 'dongGe'
for x in name:
print(x)
break的作⽤:⽤来结束整个循环
continue的作⽤:⽤来结束本次循环,紧接着执⾏下⼀次的循环
Python 跳出多重循环
方法1:自定义异常
# -*- coding:utf-8 -*-
"""
功能:python跳出循环
"""
# 方法1:自定义异常
class Getoutofloop(Exception):
pass
try:
for i in range(5):
for j in range(5):
if i == j == 2:
raise Getoutofloop()
else:
print (i, '----', j)
except Getoutofloop:
pass
方法2:将循环封装为函数,return
# -*- coding:utf-8 -*-
"""
功能:python跳出循环
"""
# 方法2:封装为函数,return
def test():
for i in range(5):
for j in range(5):
if i == j == 2:
return
else:
print (i, '----', j)
test()
方法3:用for…else…语句
# -*- coding:utf-8 -*-
"""
功能:python跳出循环
"""
# 方法2:for...else...用法,用于跳出指定循环层
for i in range(5):
for j in range(5):
for k in range(5):
if i == j == k == 3:
break
else:
print (i, '----', j, '----', k)
else: # else1
continue
break # break1
else: # else2
continue
break # break2
方法3解释:
(1)break能跳出某一重循环(该重循环的本次及剩余次数都不再执行),但并不能跳出该重循环的其他外重循环。
例如,最内第3重循环break之后,程序返回第2重循环继续执行第2重的下一次,然后第3重循环将再次执行。(2)continue是跳过某一重循环的某一次,但该重循环的剩余次数会继续执行。
(3)for…else:其中else块中的语句将在for循环完整执行过之后才会被执行,如果for循环被break,则else块将不会被执行。
-
(4)方法3中,当第3重循环满足i == j == k ==3时,第3重循环被break,则并列的else1将跳过,执行break1,导致第2重循环被终止,则else2被跳过,执行break2,导致第1重循环被终止。最终实现跳出整个循环。
for…else加break举例:
# -*- coding:utf-8 -*-
"""
功能:for...else语句
"""
for i in range(5):
print i
else:
print u"循环完整执行一次。"
for j in range(6):
for k in range(6):
print j, k
if j == 3:
print u"内重循环即将被break"
break
else:
print u"内重循环完整执行一次。"
else:
print u"外重循环完整执行一次。"