流程控制语句
一、流程控制
根据代码执行过程的不同,可以将代码分为三种结构:
-
顺序结构(默认):代码从上往下按顺序执行,每条语句只执行一次。
print('魈') print('万叶') print('阿散')
-
分支结构:根据条件选择分支代码进行执行 - if语句
age = 17 if age > 18: print('成年') else: print('未成年')
-
循环结构:代码重复执行 - for 、 while 循环
二、分支结构
分支结构存在的价值:解决程序中’如果···就···'的业务逻辑
-
if
单分支结构 - 条件成立就执行某个操作,条件不成立就不执行解决:如果···就···
语法:
if 条件语句: 代码段
说明:
a.
if
- 固定写法b.
条件语句
- 任何有结果的表达式(一般是判断语句
)c.
:
- 固定语法d. 代码段 - 结构上,和
if
保持一个缩进(tab
键);逻辑上,代码段里面的代码就是满足条件才会执行的代码# 案例: 如果num是偶数就在控制台打印'偶数' num = 10 if num % 2 == 0: print('偶数') # 练习:根据age的值打印'成年' age = 17 if age >= 18: print('成年') # 练习:如果year对应的年份是闰年就打印'闰年' year = 2004 if (year % 400 ==0) or (year % 4 ==0 and year % 100 !=0): print('闰年')
-
if
双分支结构 - 条件成立执行后面的代码,条件不成立执行后续操作解决:如果···就···,否则就···
语法:
if 条件语句: 代码段1(条件成立则执行) else: 代码段2(条件不成立则执行) # 练习:根据num的值打印'偶数'或者'奇数' num =34 if num % 2 ==0: print('偶数') else: print('奇数') # 练习:根据year的值打印'闰年'或者'平年' year = 2004 if (year % 400 ==0) or (year % 4 ==0 and year % 100 !=0): print('闰年') else: print('平年')
-
if
多分支结构解决:如果···就···,如果···就···,如果···就···,…,否则就···
# 方法1 - 每个条件都会判断一次(用于多个条件成立,另外的条件也可能成立的情况) if 条件1: 代码段1 if 条件2: 代码段2 if 条件3: 代码段3 ... # 方法2: - 后面的条件是在前面的条件都不成立时判断(用于在多个条件中其中一个条件成立,另外的条件绝对不会成立的情况) if 条件1: 代码段1 elif 条件2: 代码段2 elif 条件3: 代码段3 ... else: 代码段N-1 # 案例:根据百分制的分数值,打印对应的等级:90分以上–A、80多分–B、60多分、70多分–C、60分以下–D score = eval(input('请输入成绩:')) if score >= 90: print('A') elif score >= 80: print('B') elif score >= 60: print('C') else: print('D') # 练习: 根据num的值打印: '奇数' '偶数' '4的倍数' num = eval(input('请输入一个数字:')) # num = 34 if num % 2 == 0: print('偶数') if num % 4 == 0: print('4的倍数') else: print('奇数')
三、循环结构:
-
for
循环 - 让代码重复执行语法:
for 变量 in 序列 : 循环体
说明:
a.
for
、in
、冒号 - 固定写法b. 变量 - 可以没有定义的变量名,也可以是已经定义过的变量的变量名
c. 序列 - 容器型数据类型的数据,比如:字符串、列表、字典、集合、元组、迭代器、生成器、
range
等d. 循环体 - 结构上,和
for
保持一个缩进的一条或者多条语句(至少一条);逻辑上,循环体就是需要重复执行的代码执行过程:
让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体;
for
循环的循环次数由序列中元素的个数决定for i in 'abc': # str print('魈!') # 魈! # 魈! # 魈! for i in [1,2,3,4,5,6]: # list print(i,'你在吗?') # 1 你在吗? # 2 你在吗? # 3 你在吗? # 4 你在吗? # 5 你在吗? # 6 你在吗?