day4-python分支和循环
一、分支和循环
1、流程控制
1)顺序执行:默认从上往下顺序执行所有代码
2)分支结构:根据条件来确定执行哪段代码(python中实现分支结构的方式只有一种:if)
3)循环结构:让指定代码重复的执行
python中循环结构实现方式:for,while
2、分支结构:if
1)if 单分支 - 满足条件就执行,不满足就不执行
"""
语法结构:
if 条件语句:
代码块
说明:
if - 关键字,固定写法
条件语句 - 可以是任何有结果的表达式:比如独立的表达式,运算表达式(不能是赋值表达式)、函数调用表达式
: - 固定写法
"""
代码块 - 和if保持一个缩进的一条或多条语句;满足才会执行的语句。(至少要有一条语句)
执行过程:先判断条件语句是否为True(如果不是布尔值就先转换成布尔值),如果True就执行if语句中的代码块,False就不执行。
"""
if [3]:
print(1)
else:
print(0)
例:输入一个整数,要求输入的数如果是整数,就打印’偶数‘否者不打印
num = int(input('请输入一个整数:'))
if not(num & 1):
print('偶数')
例:输入年龄,根据年龄值的范围打印’成年人
age = int(input('请输入年龄:'))
if age >= 18:
print('成年人!')
2)if双分支结构 - 满足某个条件就执行某个操作,不满足就执行另外一个操作
"""
语法结构
if 条件语句:
代码块1
else:
代码块2
说明:
else - 关键字,固定写法
: - 固定写法
"""
注: 代码块2 - 和else保持一个缩进的一条或者多条语句;条件不满足的时候需要执行的代码块。
执行过程:
先判断条件语句是否为True,如果是就执行代码块1,否就执行代码块2
例:根据输入的年龄值的范围打印’成年‘和’未成年‘
age = int(input('请输入年龄:'))
if age >= 18:
print('成年人!')
else:
print('未成年!')
3)if多分枝结构 - 满足不同条件执行不同操作(后面条件是在前面条件不成立的时候判断的)
"""
语法:
if 条件语句1:
代码块一
elif 条件语句2;
代码块2
elif 条件语句3:
代码块3
...
else :
代码块n
"""
说明:
elif - 关键字,固定写法
这个结构中elif可以根据情况有一个或多个;else也可以根据情况有或没有
执行过程:
从前往后依次执行每个条件语句是否成立,如果那个成立就执行哪个代码块,然后结构直接结束,如果前面的都不成立,才执行else中的代码块。
例;根据分数进行等级判定([0,60) - D, [60.80) - C, [80,90) - B, [90,100] - A)
grade = int(input('请输入成绩:'))
if 90 <= grade <= 100:
print('A')
elif 80 <= grade:
print('B')
elif 60 <= grade:
print('C')
elif 0 <= grade:
print('D')
else:
print('请输入正确的成绩!')
二、循环
循环:让代码重复执行。
1、for循环
"""
语法结构:
for 变量 in 序列:
循环体
说明:
变量 - 可以是已经赋值过的变量也可以是没有赋值过的变量
序列 - 任何容器型数据类型数据:字符串、列表、元组、集合、字典、迭代器、生成器、range...
循环体 - 和for保持一个缩进的一条或多条语句;需要被重复执行的代码块
for循环的执行过程:
让变量去序列中取值,一个一个取,取完为止,每取一个值执行一次循环体。
(for 循环的循环次数由序列中的元素的个数决定)
"""
2、range函数
用来产生指定范围内的数字序列
1)range(N) - 产生0~N-1 的数字序列(N必须是正整数)
range(3) - 0,1,2
range(a,b,c) range函数有三个属性,a指的是起始数字,b指的是结束数字是b-1,c指的是每取的临近两个数之间的间隔大小(默认为1)
例:
for m in range(5):
print(10) #会打印5遍10
2)range(M,N) - 产生 M ~ N-1 的数字序列(M,N是整数,M<N)
range(5,11) : 5,6,7,8,9,10
例:
for m in range(5,15):
print(m) #5 6 7 8 9 10 11 12 13 14
例:打印0~100中能被3整除并且个位是3的所有数
for i in range(3,100,3):
if i % 10 == 3:
print(i) # 3 33 63 93
例:打印100~200能够被3整除但不能被2整除的个数
x = 0
for i in range(103,200,3):
# print('55555')
if i & 1 == 1:
x += 1
print(x) #17
2、while循环
1、while循环
"""
语法:
while 条件语句:
循环体
执行过程:
先判断条件语句是否为True,如果是就执行一次循环体,执行完在判断条件语句是否为True,为True再执行循环语句,直到为False就退出循环
"""
例:执行10次打印’hello’的操作
num = 0
while num < 10:
print('hello')
num += 1
例:统计所有的两位数中个位数加上十位数是5的数字的个数(并打印)
num = 14
while num <= 50:
# x = num // 10
# y = num % 10
# if x + y == 5:
# print(num)
print(num)
num += 9 # 14 23 32 41 50
可以多重嵌套,但会降低程序速率,尽量少用。
上一篇: Python基础-条件分支与循环
下一篇: css之多行文本输出