DAY3 笔记
一、流程控制
- def:通过代码控制程序执行过程
- 根据代码执行过程的不同,可以将代码分成三种结构
- 顺序结构(默认):代码从上往下一条一条执行,每条代码执行一次
print('你好')
print(100)
print('hello world')
- 分支结构(if):根据条件选择执行或者不执行相关代码
age = 26
if age >= 18:
print('成年')
else:
print('未成年')
- 循环结构(for循环、while循环):代码写一遍,程序执行多次
for i in range(100):
print('hello world!')
1、if分支结构
-
if单分支结构:如果…就…
-
条件成立执行某个操作,条件不成立这个操作就不执行
-
语法:
if 条件语句: 代码块
-
-
说明
-
if - 关键字,固定写法
-
条件语句 - 可以是任何有结果的表达式,一般是判断语句
-
: - 固定写法,注意必须是英文输入法下的冒号
-
代码块 - 结构上,是与if保持一个缩进的一条或多条语句(至少一条;一个缩进一般为四个空格或1个tab键)
逻辑上,代码块就是需要满足条件才执行的代码 -
案例
-
# 案例1:如果num为偶数,在控制台打印'偶数'
num = 28
if num % 2 == 0:
print('偶数')
# 案例2:根据score的值,在控制台打印'不及格'
score = 89
if score < 60:
print('不及格')
-
if双分支结构:如果…就…否则…就…
- 条件成立执行某个操作,条件不成立时执行另外一个操作
- 语法
if 条件语句: 代码块1(条件成立时会执行的代码) else: 代码块2(条件不成立时会执行的代码) 代码块3(不管条件成不成立,都会执行)
- 案例
'''
语法:
'''
# 案例1:如果num为偶数,在控制台打印'偶数',否则打印‘奇数’
num = 281
if num % 2 == 0:
print('偶数')
else:
print('奇数')
# 案例2:根据score的值,在控制台打印'不及格'或者‘及格’
score = 59
if score < 60:
print('不及格')
else:
print('及格')
-
if多分支结构:如果…就…,如果…就…,如果…就…,…
- 根据不同条件做不同的事情
- 语法
if 条件1; 代码块1 elif 条件2: 代码块2 elif 条件3: 代码块3 ... else: 代码块N
- 执行过程
- 先判断条件1是否成立,若成立,直接执行代码块1,然后整个分支结构结束;
- 如果条件1不成立才判断条件2是否成立,成立就执行代码块2,然后整个条件分支结束。
- 若条件2不成立,判断条件3…若都不成立,则执行代码块N
- 案例
# 案例1:根据scroe的值打印学生等级
# >= 90 A ; 80 ~ 89 B; 60 ~ 79 C ; 60分以下 D
score = int(input('输入分数'))
if 100 >= score >= 90: # 条件1
print('A')
elif score >= 80: # 执行到这里时,说明条件 1 不满足,则分数已经 < 90了
print('B')
elif score >= 60:
print('C')
elif 0 <= score < 60:
print('D')
else:
print('输入的分数不合法')
- 总结:后面的条件时在前面得条件不成立的情况下进行判断的。
二、循环
- def:循环结构的作用:让代码重复执行
1、for 循环
- 语法结构:
'''
for 变量 in 序列:
循环体
'''
-
说明:
for - 关键字;固定写法
变量 - 可以是任何变量的变量名
in - 关键字;固定写法
序列 - 任何容器型数据类型的数据
: - 固定写法
循环体 - 结构上,就是和for保持一个缩进的一条或者多条语句(至少一条)
逻辑上,循环体就是需要重复执行的代码-
注意:常见的序列:字符串、列表、字典、元组、集合、迭代器、生成器、range等
-
补充:元素 - 一个容器中可以同时保存多个数据,其中每一个独立的数据就是这个序列的元素
-
-
执行过程
循环变量去序列中取值,一个一个取,取完为止,每取一个值就执行一次循环体
for循环的循环次数和序列中元素的个数有关
# eg:
for i in 'qianfengjiaoyu':
print(i)