Day4-流程控制学习
1,流程控制
-
顺序结构
定义:代码从上往下一条一条的执行,每条语句只执行一次
-
分支结构
定义:根据条件执行或者不执行相关操作(选择执行相关代码)
-
循环结构
定义:让代码重复执行(代码只写一遍,或者重复执行多遍)
2,if分支结构
-
1,if单分支结构
-
定义:满足某个条件才执行,不满足不执行,相当于如果。。。就。。。
-
说明:
if
条件语句 - 任何有结果的表达式,但是不能是赋值语句
:
代码段 - 结构上和If保持一个缩进的一条或者多条语句,不缩进就不会受if限制
执行过程:先判断条件语句是否为Ture,如果为Ture就执行代码段,反之不执行,如果条件语句的结果不是布尔,将结果转换成布尔值再进行判断,比如空值和0在布尔中表示False,那么就不会运行代码段)
# 练习:判断num是否是偶数,如果是偶数打印’偶数‘ num=22 if num%2==0: print('偶数')
-
-
2,双分支结构
-
定义:如果。。。。就。。。否则。。。
-
说明
if 条件语句 :
代码段1 — 条件成立时执行
else:
代码段2 — 条件不成立时执行
#练习1: 如果age的值不小于18就打印'成年'否则打印'未成年' age=20 if age>=18: print('成年') else: print("未成年")
-
-
3,多分支结构
-
定义:如果。。。。就。。。。如果。。。。就。。。。如果。。。。就。。。。
-
说明(运用场景:多个条件之间不存在其中一个满足,另外一个不满足的关系,不存在互斥关系)
-
方案一
if 条件语句1:
代码段1
if 条件语句2:
代码段2
if 条件语句3:
代码段3
…
-
方案二(运用场景:多个条件之间存在其中一个满足,另外的条件一定不满足的关系,互斥关系)
if 条件语句1:
代码段1
elif 条件语句2
代码段2
elif 条件语句3
代码段3
…
else
代码段#
# 案例:给百分制分数打A(90 ~ 100)、B(80~89)、C(60~79)、D(60分以下)的等级 num=80 if 90<=num: print('A') elif 80<=num: print('B') elif 60<=num: print('C') else: print('D')
-
-
-
if嵌套
定义:在一个if条件语句下,再嵌套一个条件语句,要注意代码段的缩进。
# 练习:如果num是偶数就打印'偶数', 是奇数就打印'奇数', 如果能被4整除打印'4的倍数' num=8 if num%2==0: print('偶数') if num%4==0: print('4的倍数') else: print('寄数')
3,for循环
-
语法
-
for — 固定写法
-
变量 — 可以使已经定义过的变量,也可以是临时创建的变量
-
in — 固定写法
-
序列 — 容器型数据类型的序列,例如:字符串、列表、元组、字典、集合、迭代器、生产器、rang函数等
-
循环体 — 结构上就是和for保持一个缩进的一条或者多条语句
逻辑上就是需要重复执行的代码
-
-
执行原理
让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体,for循环的循环次数由序列中数据的个数决定;不断的从序列中取数赋值变量,让变量去运行循环体。
for x in 'ABC': print(x,'hello world')
4,rang函数
- 定义:创建一个等差数列
- 类型:
- rang(N) - 创建一个0到N-1的等差数列,差是1;rang(5):0、1、2、3、4
rang(M,N) - 创建一个M到N-1的等差数列,差是1;
rang(M,N,step) - 创建一个M到N-1的等差数列,差是step;
# 练习1:写程序创建一个等差数列:13 16 19 22
for x in range(13,23,3):
print(x)