1.分支结构
1.1 if分支结构
a.语法:
if 条件语句:
代码段
b.说明:
if - 关键字
条件语句 - 任何有结果的表达式(不管结果是什么类型)
: - 固定写法
代码段 - 和if保持一个缩进的一条或者多条语句
c.执行过程:先判断条件语句的结果是否是True,如果是True就执行冒号后面的代码段,否则就不执行
注意:如果条件语句的结果不是布尔,会先将结果转换成布尔再判断
d. if语句后面可以写哪些语句:赋值语句不能写在if的后面
e. 和if保持一个缩进的语句是在条件成立的时候才执行,在if外面的语句不管if条件是否成立都会执行
1.2 if - else分支结构
a.语法:
if 条件语句:
代码段1
else:
代码段2
b.执行过程:先判断条件语句是否为True,为True则执行代码段1,否则就执行代码段2
1.3 if - elif - else分支结构
a.语法:
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
elif 条件语句3
代码段3
...
elif 条件语句n
代码段n
else:
代码段e
b.执行过程:
先判断条件语句1是否为True,为True则执行代码段1,否
则判断条件语句2是否为True,如果条件语句2为True,为True则执行代码段2,
否则判断条件语句3是否为True,如果条件语句3为True,为True则执行代码段3,
以此类推,如果前面的条件都为False,就执行代码段e。
注意:1,后面的条件判断前提是前面的条件不成立
2,这儿的elif根据情况可以有多个,else也可以省略
2.for循环
python中的循环结构有两种:for循环和while循环
什么时候用循环:某个操作需要重复执行,就考虑用循环
2.1 for循环
a.语法:
for 变量 in 序列:
循环体
b.说明
for - 关键字
变量 - 变量名,随便命名(满足变量名的要求)
In - 关键字
序列 - 可以是字符串、列表、元组、字典、集合、迭代器、range
循环体 - 和for保持一个缩进的一条或者多条语句(需要重复执行的代码)
c.执行过程:让变量去序列中取值,一个一个的取,直到取完为止,每取一个值,执行一次循环体
for循环中,序列中值的个数,决定了循环的次数
d.注意:如果for后面的变量取到的值在循环体里面不使用,那么变量在命名的时候用一个下划线来命名
2.2 range
2.2.1 range(n) - 产生一个数字序列,序列中的内容是0到n-1(结果是序列)
2.2.2 range(m,n) - 产生一数字序列,序列中的内容是m-n-1
2.2.3 range(m,n,step) - 产生一数字序列,从m开始,每次加step,知道n前为止
range一般用在:a.需要产生指定范围的数字序列。b.单纯的控制for循环的循环次数
3.while循环
3.1 while循环
a.语法:
while 条件语句:
循环体
b.说明:
while - 关键字
条件语句 - 有结果的表达式,除了赋值语句都可以
: - 固定写法
循环体 - 和while保持一个缩进的一条或者多条语句(会被重复执行)
c.执行过程:先判断条件语句是否为True,为True就执行循环体;执行完循环体之后再判断条件语句是否为True,为True就又执行循环体;以此类推,知道条件语句为False,整个循环就结束
3.2 for循环和while循环的选择
python中,for循环能做到的while循环都能做到;但是while循环能做的,for循环不一定能做到
使用for循环:
a.获取序列中的元素(值)
b.循环次数确定
使用while循环:
a.死循环
b.循环次数不确定
4.continue,break和else
4.1 continue
continue - 是一个关键字,只能写在循环体中
功能:当循环执行过程中,遇到continue,会结束当次循环,,直接进入下次循环的判断。
(进入下次循环的判断,for循环就是用变量取下一个值,while循环就是直接判断条件语句是否为True)
4.2 break
break是一个关键字,只能用在循环体中
功能:当循环执行过程中,遇到break,整个循环直接结束
4.3 else
else - 不会影响原循环的执行过程
语法:
while 条件语句:
循环体
else:
执行过程:不会影响原循环的执行过程,当循环自然死亡的时候,执行else后面的代码段,循环因为遇到break
而结束的时候,不会执行else后边的代码段
代码段
for 变量 in 序列:
循环体
else:
代码段
执行过程:不会影响原循环的执行过程,当循环自然死亡的时候,执行else后面的代码段,循环因为遇到break而结束的时候,不会执行else后边的代码段