day 4 分支和循环
流程控制
-
流程控制 - 通过代码控制程序执行的顺序
-
三种程序执行的方式
1)顺序结构:代码从上往下按顺序一条一条的执行,每条语句只执行一次(默认)print('你好') print(100) # input() print('hello world!')
2)分支结构: 执行代码的时候根据条件选择执行或者不执行某些代码 (if语句)
age = 9 if age >= 18: print('成年') else: print('未成年')
3)循环结构:让代码重复执行-代码写一遍重复执行多次 (for、while)
for _ in range(10): print('python')
分支结构
-
if单分支结构
""" 1)语法 if 条件语句: 代码段 2)说明 a. if - 关键字;固定写法 b. 条件语句 - 条件对应的代码(必须是一个有结果的表达式) c. 冒号 - 固定写法(必须是英文输入法下面的冒号) d. 代码段 - 结构上,就是和if保持一个缩进的一条或者多条语句,至少一条; 逻辑上,代码段就是满足条件才会执行的代码 3)执行过程 先判断条件语句是否成立,如果成立就执行代码段,否则代码段就不执行 """ # 如果score的值大于80分就打印'通过' score = 98 if score > 80: print('通过')
-
if双分支结构
""" 语法: if 条件语句: 代码段1(满足条件需要执行的代码) else: 代码段2(不满足条件的时候需要执行的代码) """ # 如果num大于10就让num减5,否则将num加5 num = 89 if num > 10: num -= 5 else: num += 5 print(num)
-
if多分支结构
""" 方法1: - 直接使用多个if单分支(如果其中一个条件成立,别的条件也可能成立的时候用) if 条件语句1: 代码段1 if 条件语句2: 代码段2 if 条件语句3: 代码段3 ... 方法2: - 使用if-elif结构(如果其中一个条件成立,其他条件绝对不会成立的时候用) if 条件语句1: 代码段1 elif 条件语句2: 代码段2 elif 条件语句3: 代码段3 ... else: 代码段N 执行特点:后面的条件是在前面的条件不成立的情况下进行判断。 """ if score < 80: print('打死') elif score < 90: print('吃火锅') elif score < 100: print('买鞋') else: print('买车')
for循环
-
for循环
""" 1)语法: for 变量 in 序列: 循环体 2)说明 a. for - 关键字;固定写法 b. 变量 - 变量名 c. in - 关键字;固定写法 d. 序列 - 容器型数据类型的数据就是序列;常见的容器型数据:字符串、列表、元组、集合、字典、迭代器、生成器、range等 e. 冒号 - 固定写法 f. 循环体 - 结构上,就是和for保持一个缩进的一条或者多条语句,至少一条; 逻辑上,需要重复执行的代码 3)执行过程 让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。 循环次数由序列中元素的个数决定。 """ # 常见的容器型数据:'abc忙什么呢'、[10, 20, 30, 40]、(10, 20, 30, 40) # 使用for循环控制程序打印 'hello world!' 5次 for x in 'asvbg': print(x, 'hello world!') print('你好')
-
range函数 - 创建等差数列
"""
1)range(N) - 创建[0, N)的等差数列,差是1;例如:range(5) - 0,1,2,3,4
2)range(M, N) - 创建[M, N)的等差数列,差是1;例如:range(5, 10) - 5,6,7,8,9
3)range(M, N, step) - 创建[M, N)的等差数列,差是step;例如:range(5, 20, 3) - 5,8,11,14,17
range(10, 1, -2) - 10,8,6,4,2
"""
# 0,1,2,3,4,5
range(6)
# 1,3,5,7,9,11
range(1, 12, 2)
# 90,100,110,120,130
range(90, 131, 10)
# 9,8,7,6,5
range(9, 4, -1)
# 19, 16, 13
range(19, 12, -3)
# 2,1,0,-1,-2
range(2, -3, -1)