一、流程控制
流程控制 -- 通过代码控制程序的执行过程
- 顺序结构:代码从上往下按顺序执行,而且每一条语句只执行一次。(默认)
- 分支结构:执行代码的时候可以根据条件选择执行代码。(if)
- 循环结构:让代码重复执行。(for、while)
age = 6
if age < 18:
print('未成年')
else:
print('成年')
二、分支结构
1、if单分支结构
-
如果xxx就xxx(满足条件就执行某个操作,条件不满足的时候就不执行)
"""
1)语法:
if 条件语句:
代码块
2)说明:
if - 关键字;固定写法
条件语句 - 一般写判断语句,本质可以写任何有结果的表达式。
: - 固定写法
代码块 - 结构上,和if保持一个缩进(tab)的一条或者多条语句(至少一条)
逻辑上,代码块就是满足条件才会执行的代码
"""num = 20
if num % 2 == 0:
print('偶数')
else:
print('奇数')
#练习1:判断一个三位数的个位数和百位数相等就打印”回文数“
num = 828
if num % 10 == num // 100:
print(f'{num}是回文数')
else:
print(f'{num}不是回文数')
#练习2:根据年份在控制台打印闰年
year = 2009
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
print(f'{year}是闰年')
else:
print(f'{year}不是闰年')
2、if双分支结构
-
如果xxx就xxx否则就xxx(满足条件执行某个操作,不满足执行另外一个操作)
num = 20
if num % 2 == 0:
print(f'{num}是偶数')
else:
print(f'{num}是奇数')
案例2:根据变量x中数据的类型打印‘数字数据’或者‘非数字数据’
x = 'abc'
if type(x) == int or type(x) == float:
print(f'{x}是数字数据')
else:
print(f'{x}是非数字数据')
3、if多分支结构
-
如果xxx就xxx,如果xxx就xxx,如果xxx就xxx(根据不同的条件做不同的事情)
"""
方法1 : 使用多个if单分支结构 - 如果多个条件之间存在其中一个条件成立,其他条件也可能成立
if 条件1:
代码块1
if 条件2:
代码块2
...
if 条件N:
代码块N
方法2 :使用if-elif结构 - 如果多个条件之间存在其中一个条件成立,其他条件绝对不会成立
if 条件1:
代码块1
elif 条件2:
代码块2
...
else 条件N:
代码块N
"""
案例1 :根据分数值打印:优秀(>=90),良好( >=80,<90),中等(>=60,<80),不及格(<60)
# 方法1
score = 77
if score >= 90:
print('优秀')
if 90 > score >= 80:
print('良好')
if 80 > score >= 60:
print('中等')
if score < 60:
print('不及格')# 方法2
score = 88
if 100 > score > 0:
if score >= 90:
print('优秀')
elif score >= 80:
print('良好')
elif score >= 60:
print('中等')
else:
print('不及格')
else:
print('成绩无效')
4.分支嵌套
#案例:根据num的值打印‘偶数’、‘奇数’和‘4的倍数’
num = 34
if num % 2 == 0:
print('偶数')
if num % 4 == 0:
print('4的倍数')
else:
print('奇数')
三、for 循环
1、for循环 -- 让代码循环
'''
1)语法:
for 变量 in 序列:
循环体
2)说明:
for - 关键字;固定写法
变量 - 变量名(已经定义过的变量或者没有定义过的都可以)
in - 关键字;固定写法
序列 - 容器型数据类型的数据(可以同时保存多个值),例如:字符串、列表、字典、元组、集合、迭代器、生成器、range
: - 固定写法
循环体 - 结构上,就是和for保持一个缩进的一条或者多条语句(至少一条)
逻辑上,循环体就是需要重复执行的代码3)循环原理:
让变量取序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体
如果要控制for循环次数,只需要控制序列中元素的个数
'''
案例 : 控制程序打印五次‘hello world!’
for x in range(5):
print('hello world!')
2、range函数
创建等差数列
"""
1)range(N) - 创建[0,N)的等差数列,差为1;
例如:range(5) - 0、1、2、3、4
2)range(M,N) - 创建[M,N)的等差数列,差为1;
例如:range(1,5) - 1、2、3、4
3)range(M,N,step) - 创建[M,N)的等差数列,差为step
例如:range(2,11,2) - 2,4,6,8,10
"""
练习 : 使用range函数创建以下等差数列
# 11 12 13 14 15 range(11, 16)
# 11 13 15 17 19 range(11, 20,2)
# -2 -1 0 1 2 range(-2, 3)
# 0 5 10 15 20 range(0, 21, 5)
# 10 8 6 4 2 range(10, 1, -2)for x in range(10, 1, -2):
print(x)