流程控制
三种结构
- 顺序结构(默认)
- 分支结构(if)
- 循环结构(for和while)
if分支结构
顺序结构
print('how')
print('are')
print('you?')
分支结构
1. 单分支结构
语法:
if 条件语句:
代码段
if
- 关键字;固定写法
条件语句 - 可以是任何有结果的表达式,例如:数据、已经赋值过的变量、运算表达式、函数调 用表达式(注意!赋值语句不可以作为条件语句)
:
- 固定写法
代码段 - 和if保持一个缩进的一条或者多条语句(至少一条);就是在满足条件的时候才会执行 的代码
- 先判断条件语句是否为True(如果条件语句的结果不是布尔值就先转换成布尔值),如果为True就执行代码段,否则就不执行
练习1:根据指定的年龄值打印‘可以进网吧’
age = int(input('请输入年龄:'))
if age >= 18:
print('可以进网吧')
练习2:根据分数值打印‘优秀’(90分以上)
score = int(input('输入成绩:'))
if score >= 90:
print('优秀')
2. 双分支结构
语法:
if 条件语句:
代码段1(满足条件要执行的代码)
else:
代码段2(不满足条件要执行的代码)
练习:根据指定的整数值打印‘ 奇数’或者‘ 偶数’
num = int(input('输入一个整数:'))
if num % 2:
print('奇数')
else:
print('偶数')
num = int(input('输入一个整数:'))
if num % 2 == 0:
print('偶数')
else:
print('奇数')
3. 多分支结构
根据不同的条件做不一样的事情
方案一:(只能解决多个条件之间存在如果其中一个条件成立,那么起他条件绝对不会成立的关系)
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
elif 条件语句3:
代码段3
....
else:
代码段N
方案二:(多个条件之间不存在其中一个满足,另外的条件绝对不满足的情况)
if 条件语句1:
代码段1
if 条件语句2:
代码段2
if 条件语句3:
代码段3
....
练习:根据分数的范围打印 ‘优秀’ - 90分以上 ‘良好’ - 80 ~ 90 ‘及格’ - 60~79 ‘不及格’ - 60分以下
score = int(input('输入分数:'))
if score > 90:
print('优秀')
elif score >= 80:
print('良好')
elif score >= 60:
print('及格')
else:
print('不及格')
if嵌套
if语句里面嵌套if语句
练习:根据指定数的值打印‘奇数’、‘偶数’、‘4的倍数’
num = int(input('请输入:'))
if num % 2 == 0:
print('偶数')
if num % 4 == 0:
print('4的倍数')
else:
print('奇数')
循环结构
for循环
语法:
for 变量 in 序列:
循环体
for
- 关键字;固定写法- 变量 - 变量名,和定义变量的时候的变量名要求相同
in
- 关键字;固定写法- 序列 - 任何容器型的数据类型,比如:字符串、列表、元组、字典、集合、迭代器、生成 器、range函数等
:
- 固定写法- 循环体 - 和for保持一个缩进的一条或者多条语句;需要重复执行的代码
range函数
range(N) - 产生0到N-1的数字序列,[0, N) 例如:range(4)-0,1,2,3
range(M, N) - 产生M到N-1的数字序列,[M, N) 例如:range(2, 6)-2,3,4,5
range(-2, 2)--2,-1,0,1
range(M, N, step) - [M, N),步长为step(每次增加step)
例如:range(1, 10, 2)- 1,3,5,7,9
range(10, 1, -2)- 10,8,6,4,2
套路一:求和
- 第一步:定义一个变量默认值是0(这个变量就是用来保存最后的和)
- 第二步:使用for循环的变量依次取出需要求和的所有数据
- 第三步:在循环中,变量每取一个值,就往保存和的变量中加一个值
1+2+3+…+100
sum_1 = 0
for i in range(1, 101):
sum_1 = i
print(sum_1)
套路二:统计个数
统计20到100之间偶数的个数
方法一:
count = 0
for i in range(20, 101):
if i % 2 == 0:
count += 1
print(count)
方法二:
count = 0
for i in range(20, 101, 2):
count += 1
print(count)
scores = [30, 89, 99, 90, 50]
取出其中不及格的个数
count = 0
for i in scores:
if i < 60:
count += 1
print('不及格的有', count, '个', sep='')