流程控制
一、概要
- 顺序控制
- 分支控制
- 循环控制
二、顺序控制
顺序控制时最简单的一种流程控制,强调代码从上到下依次执行,中间没有任何顺序和跳转。
a = 10
b = 20
print(a)
print(b)
三、分支控制
(一)单分支
- 基本语法
if <condition> :
pass
- 实例
a = 10
if a > 5:
print("a=", a)
(二)双分支
- 基本语法
if <condition>:
pass
else:
pass
- 实例
a = 3
if a > 5:
print("a=", a)
else:
print("a < 5")
(三)多分支
- 基本语法
if <condition>:
pass
elif <condition>:
pass
else:
pass
- 实例
a = 7
if a > 3 and a < 7:
print("a大于3并且小于7")
elif a > 7:
print("a大于7")
else:
print("a等于7")
(四)嵌套分支
在一个分支结构中完整的嵌套另一个完整的分支结构,里面的分支结构被称为内层分支,外面的分支结构被称为外层分支。
- 基本语法
if <condition>:
if <condition>:
pass
else:
pass
- 实例
a = 10
b = 5
if a <= 10:
if b < 5:
print("b小于5")
else:
print("b大于等于5")
(五)条件变量
类型 | 例子 | 备注 |
---|---|---|
数字 | 0表示False,1表示True | |
字符串 | 空字符串(“”)表示False | |
对象 | None表示空对象 | |
布尔 | True或者False |
用的比较多的是对象和布尔进行判断,尽量以bool显式判断。
(六)案列
1、 计算器
从输入控制中接收2个数字以及运算符,计算结果,如:
variable = input("请输入两个数字以及一个运算符:") # 1 + 2
num1, operator, num2 = variable.split()
num1 = int(num1)
num2 = int(num2)
if operator == "+":
res = num1 + num2
elif operator == "-":
res = num1 - num2
elif operator == "*":
res = num1 * num2
else:
res = num1 / num2
print(res)
2、出票系统
根据淡、旺季的月份和年龄,打印票价:
4-10月旺季:
成人(18-60):60
儿童(<18):半价
老人(>60):1/3
淡季:
成人:40
其他:20
思路:
- month age两个变量
- 嵌套分支
price = 60
month = int(input("请输入月份:"))
age = int(input("请输入年龄:"))
if month > 4 and month < 10:
if age > 60:
print("%s月份 %s票价 %s年龄" % (month, price / 3, age))
elif age >= 18:
print("%s月份 %s票价 %s年龄" % (month, price, age))
else:
print("%s月份 %s票价 %s年龄" % (month, price / 2, age))
else:
if age >= 10 and age < 60:
print("淡季成人票", 40)
else:
print("淡季儿童和老人票", 20)
四、循环控制
- while循环
- for循环
python中没有do...while循环
流程控制图:
(一)while循环
- 基本语法
while <condition>:
循环体
循环变量迭代
- 实例
实现1-100求和
i = 1
sum = 0
while i < 101:
sum += i
i += 1
print(sum)
(二)for循环
- 基本语法
for 可迭代变量 in 序列:#
循环体
序列,指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们。
- 实例
for i in [1, 2, 3]:
print(i)
for index, value in enumerate([1, 2, 3]):
print(index, value)
(三)嵌套循环
将一个循环放入到另一个循环内,这样就形成了嵌套循环。外边的循环被称为外层循环,里面的循环被称为内层循环;实际上嵌套循环的循环体就是内存循环
外层循环次数m次,内存循环n次,则内存循环体需要执行m*n次
for i in [1,2]:
for j in [5,6]:
print(i, j)
(四)break/continue
1 break
break语句用于终止代码块的执行,可以跳出循环语句。
- while跳出循环
i = 10
while True:
print(i)
if i < 5:
break
i -= 1
输出:
10
9
8
7
6
5
4
- for跳出循环
for i in range(10):
if i == 5:
break
print(i)
输出:
0
1
2
3
4
2 continue
for i in range(10):
if i < 5:
continue
print(i)
输出:
5
6
7
8
9
(五)案例
1、求1-100被3整除的和
res = 0
for i in range(1,101):
if i % 3 == 0:
res += i
print(res)
2、打印乘法口诀
for i in range(1, 10):
for j in range(1, i+1):
print("{}*{}={}".format(j, i, j * i),end=" ") # 打印每一行
print() # 换行,默认为换行
作者:iveBoy
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。