概述
流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组 合成能完成一定功能的小逻辑模块。 其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:
- 顺序结构
- 分支结构
- 循环结构
分支结构
代码示例
# 需求分析:如果用户年龄大于等于18岁,即成年,输出"已经成年,可以上网"。 age = 20 if age >= 18: print('已经成年,可以上网') # 下方的代码没有缩进到if语句块,所以和if条件无关 print('我是无论条件是否成立都要执行的代码')
条件成立执行if下方的代码; 条件不成立执行else下方的代码。
代码示例
# 获取到用户输入的年龄,判断是上网还是写作业 age = int(input('请输入您的年龄:')) if age >= 18: print(f'您的年龄是{age},已经成年,可以上网') else: print(f'您的年龄是{age},未成年,请自行回家写作业') # 下方的代码没有缩进到if语句块,所以和if条件无关 print('我是无论条件是否成立都要执行的代码')
if
代码示例
''' 如果年龄小于18的情况为童工,不合法; 如果年龄在18-60岁之间为合法工龄; 大于60岁为法定退休年龄。 ''' age = int(input('请输入您的年龄:')) if age < 18: print(f'您的年龄是{age},童工一枚') # age >= 18 and age <= 60可以化简为18 <= age <= 60。 elif (age >= 18) and (age <= 60): print(f'您的年龄是{age},合法工龄') elif age > 60: print(f'您的年龄是{age},可以退休')
注意事项:
if语句中,如果条件成立执行了某些代码,那么其他的情况的代码将不会执行。
执行流程
代码示例
""" 如果有钱可以上车,没钱不能上车; 上车后如果有空座,则可以坐下; 如果没空座,就要站着。怎么书写程序? """ # 假设用 money = 1 表示有钱, money = 0表示没有钱; # seat = 1 表示有空座,seat = 0 表示没有空座 money = 1 seat = 0 if money == 1: print('土豪,不差钱,顺利上车') if seat == 1: print('有空座,可以坐下') else: print('没有空座,站等') else: print('没钱,不能上车,追着公交车跑')
代码示例
""" 语法 条件成立执行的表达式 if 条件 else 条件不成立执行的表达式 """ a = 1 b = 2 c = a if a > b else b print(c) # 需求: 有两个变量,比较大小 如果变量1 大于 变量2 执行 变量 1 - 变量2; 否则 变量2 - 变量1 aa = 10 bb = 6 cc = aa - bb if aa > bb else bb - aa print(cc)
循环结构
循环的作用:让代码更高效的重复执行。
代码示例
# 需求: 1-100偶数累加和 -- 2 + 4 + 6 + 。。。+ 100 = 结果 -- 输出结果 i = 1 # 控制循环的次数 result = 0 # 存储最终结果 while i <= 100: # 条件语句 -- if if i % 2 == 0: # 加法运算 result += i i += 1 # 输出结果2550 print(result)
i = 1 while i <= 5: if i == 3: print('这遍说的不真诚') break print('媳妇儿,我错了') i += 1 else: print('媳妇原谅我了,真开心,哈哈哈哈')
执行结果
执行流程
打印九九乘法表,代码示例
# 重复打印9行表达式 j = 1 while j <= 9: # 打印一行里面的表达式 a * b = a*b i = 1 while i <= j: print(f'{i}*{j}={j*i}', end=' ') i += 1 print() j += 1
代码示例
str1 = 'hello' for i in str1: print(i)
注意事项:
- else指的是循环正常结束之后要执行的代码,即如果是break终止循环的情况,else下方缩进的代码将不执行。
- 因为continue是退出当前一次循环,继续下一次循环,所以该循环在continue控制下是可以正常结束的,当循环结束后,则执行了else缩进的代码。
代码示例
str1 = 'itheheloo' for i in str1: if i == 'e': print('遇到e不打印') break print(i) else: print('循环正常结束之后执行的代码')
执行结果
# break:当某些条件成立,退出整个循环 # 循环吃5个苹果,吃完第3个吃饱了,第4 和 5 不吃了(不执行) -- == 4 或 >3 i = 1 while i <= 5: # 条件:如果吃到4 或 > 3 打印吃饱了不吃了 if i == 4: print('吃饱了,不吃了') break print(f'吃了第{i}个苹果') i += 1
执行continue语句之后,退出当前一次循环继而执行下一次循环代码
代码示例
# continue : 当条件成立,退出当前一次循环,继而执行下一次循环 # 吃5个苹果 -- 循环; 吃到第3个吃出一个虫子,第三个不吃了,没吃饱,继续吃4和5个苹果 -- 只有第三个不吃 i = 1 while i <= 5: # 条件 if i == 3: print('吃出一个大虫子,这个苹果不吃了') # 如果使用continue,在continue之前一定要修改计数器,否则进入死循环 i += 1 continue print(f'吃了第{i}个苹果') i += 1