分支和循环
1.分支结构
1.流程控制
1)顺序执行:从上往下依次执行所有代码(默认)
2)分支结构:根据条件执行某段代码
python中实现分支结构方式只有:if
3)循环结构:指定代码重复执行
python中实现循环结构方式只有两种:for、while
2.分支结构:if
1)if 单分支结构 - 满足某个条件执行某个操作,不满足不执行
“”"
语法:
if 条件语句:
代码块
说明:
if - 关键字,固定写法
条件语句 - 可以是任何有结果的表达式;比如:独立的数据、运算表达式(不能是赋值运算)、函数调用表达式
: - 固定写法
代码块 - 和 if 保持一个缩进的一条或者多条语句;满足条件执行的一条或多条语句
执行过程:判断条件语句知否为True,若结果为True就执行if语句中的代码块,否则不执行
“”"
num = int(input('请输入一个整数:'))
if num & 1 == 0:
print('偶数')
age = int(input('请输入年龄:'))
if age >= 18:
print('成年人')
2)if 双分支结构 — 满足条件执行操作,不满足执行另一个操作
“”"
if 条件语句:
代码块1
else:
代码块2
执行过程:判断条件语句知否为True,若结果为True执行代码块1,否则执行代码块2
“”"
age = int(input('请输入年龄:'))
if age >= 18:
print('成年人')
else:
print('未成年')
3)if 多分支结构 - 满足不同条件执行不同操作
语法:
if 条件语句1:
代码块1
elif 条件语句2:
代码块2
elif 条件语句3:
代码块3
…
else:
代码块n
score = int(input('请输入分数:'))
if 0 <= score < 60:
print('D')
elif score < 80:
print('C')
elif score < 90:
print('B')
elif score <= 100:
print('A')
else:
print('输入错误')
2. for循环
语法:
for 变量 in 序列:
循环体
说明:
变量 - 可以是已经赋值过的变量,也可以是没有赋值过的变量
序列 - 任何容器型数据类型的数据:字符串、列表、元组、集合、字典、迭代器、生成器、range…
循环体 - 需要被重复执行的一条或者多条语句
执行过程:
让变量去序列中取值,取完为止,每取一个值执行一次循环体(循环次数由序列中元素的个数决定)
for x in 'hello':
print(x)
print('===')
range 函数 - 产生指定范围内的数字序列
1)range(N) - 产生 0 ~ N-1 的数字序列(N必须是正整数)
range(3) - 0,1,2
for x in range(6):
print('==', x)
2)range(M, N) - 产生 M ~ N-1 的数字序列(M,N是整数,M < N)
for x in range(-5, 2):
print(x)
3)range(M, N, step)
range(1, 10, 2):1,3,5,7,9
range(5, 0, -1):5,4,3,2,1
for x in range(5, 1, -1):
print(x)
打印0到100能被3整除并且个位数是3的数字
for x in range(0, 101):
if x % 3 == 0 and x % 10 == 3:
print(x)
for x in range(3, 101, 3):
if x % 10 == 3:
print(x)
count = 0
for x in range(102, 201, 3):
if x & 1 == 1:
count += 1
print(count)
a = 0
for x in range(1, 101):
a += x
print(a)
3.while循环
“”"
语法:
while 条件语句:
循环体
说明:
条件语句 - 任何有结果的表达式;独立的数据、运算表达式(不能有赋值运算)、函数调用表达式
循环体 - 需要重复执行的一条或多条语句
执行过程:
判断条件语句,如果为True,执行循环体,执行后再判断条件语句,如果为True,再执行循环体,结果为False循环结束
变量 = 0
while 变量 < 次数:
需要重复执行的操作
变量 += 1
“”"
0到100的和
count = 0
num = 1
while num < 101:
count += num
num += 1
print(count)
统计所有的两位数中个位数加十位数是5的数字的个数(并且打印每一个满足条件的数字)
count = 0
num = 10
while num < 51:
if num % 10 + num // 10 == 5:
count += 1
print(num)
num += 1
print(count)