顺序结构
单分支选择结构
- if语句 注意:代码的缩进为一个 tab 键,或者 4 个空格 —— 建议使用空格
weather ='下雨'
if weather=='下雨':
print('带伞')
- if语句的流程图
weather ='下雨'
if weather=='下雨':
print('带伞')
print( '注意安全')
双分支选择结构
- if-else流程图
weather ='下雨'
if weather=='下雨':
print('带伞')
else:
print( '不用带伞')
多分支选择结构
-
if-elif-else
使用 if 可以 判断条件 使用 else 可以处理 条件不成立 的情况 但是,如果希望 再增加一些条件,条件不同,需要执行的代码也不同 时,就可以使用 elif
-
if-elif-else
bmi计算
bmi=体重(kg)/(身高*身高(米))
标准:
bmi<18.5 过瘦
18.5-23.9 正常
23.9 过胖
#bmi计算
#bmi计算
#bmi=体重(kg)/(身高*身高(米))
#bmi<18.5 过瘦 18.5-23.9 正常 >23.9过胖
#完成输入功能
height=float(input('请输入你的身高:'))
weight=float(input('请输入你的体重: ')
#完成bmi值的计算
bmi=weight/(height*heightprint(bmi)
#判断bmi的值
if bmi<18.5:
print( '太瘦了,多吃点吧")
elif bmi<23.9:
print( '非常健康,继续保持! ')
else:
print('瘦点更漂亮哦')
日期判断
需求: 从控制台输入一个数字, 如果是1则输出星期一, 2则输出星期二, 依次类推
num = int(input()
#全部使用if语句可以实现
if num == 1:
print("星期一")
if num == 2:
print("星期二")
if num == 3:
print("星期三")
if num == 4:
print("星期四")
if num == 5:
print("星期五")
if num == 6:
print("星期六")
if num == 7:
print("星期日")
嵌套选择
- 嵌套选择
在开发中,使用 if 进行条件判断,如果希望 在条件成立的执行语句中 再 增加条件判断,就可以使用 if 的嵌套
if 的嵌套 的应用场景就是:在之前条件满足的前提下,再增加额外的判断
if 的嵌套 的语法格式,除了缩进之外 和之前的没有区别
match
Python中的match语句是Python 3.10及以后版本中引入的新特性,用于模式匹配。
它允许你根据对象的模式来检查对象,并执行相应的代码块。
match语句中的每个代码块由一个或多个case子句组成。
每个case子句后面跟着一个模式和一个代码块。
当模式匹配成功时,会执行相应的代码块。
如果没有任何模式匹配成功,则可以选择使用一个默认的代码块,使用下划线_来表示。
使用字符串模式来检查变量text的值。
如果text的值是"hello",则打印'text is hello';
如果text的值是"world",则打印'text is world';
否则,打印"text is neither 'hello' or 'world"。
text = "hello"
match text:
case "hello":
print("text is 'hello'")
case "world" :
print("text is 'world'")
case _: #匹配所有其他值
print("text is neither 'hello' nor 'world'")
match与if的对比
-
if
- if语句是最基本的条件控制结构,用于基于条件测试执行不同的代码块。
- if语句在处理简单条件和分支时非常有用。
- 你可以使用elif(else if)来添加额外的条件分支。
- if语句不支持模式匹配,只能基于布尔表达式进行条件判断。
-
match
- match语句是Python 3.10及以后版本引入的新特性,主要用于模式匹配。
- match语句允许你根据对象的模式结构来检查对象,并根据匹配的模式执行相应的代码块。
- match语句特别适用于处理复杂的数据结构,如元组、列表、字典等,以及自定义类的实例。
- 它通过模式匹配提供了更简洁、更直观的方式来处理复杂的条件逻辑。
知识总结
代码规范
缩进
条件判断、循环、函数定义的时候都需要用缩进来控制代码块结束
小技巧:一般句尾有冒号时,都是需要缩进的
四个空格或者一个tab键为一个缩进
代码编排
缩进4个空格,不能用tab键和空格混合缩进
所有行限制的最大字符数为79
添加适当的空行
空格
二元运算符两边添加一个空格
逗号、分号、冒号后边留一个空格,前面不留
练习
1. 下列数值填入①处后,不能输出 a 的是(D )。
if _①__:
print(“a”)
A. 3
B. 2
C. 1
D. 0
2. 关于 Python 的分支结构,以下选项中描述错误的是 D
A. 分支结构使用 if 保留字
B. Python 中 if-else 语句用来形成二分支结构
C. Python 中 if-elif-else 语句描述多分支结构
D. 分支结构可以向已经执行过的语句部分跳转
4. 运行下方代码段,输出的是( )。
A. 0
B. 1
C. 2
D. None
5. python多条件判断,可以用(A)来实现。
A. elif
B. else
C. swticn
D. ifelse
6. 定义一个整数变量 age,编写代码判断年龄是否正确
要求人的年龄在 0-120 之间
age = input('请输入年龄: ')
age = int(age)
if age <= 120 and age >= 0:
print('正确')
else:
print('错误')
- 定义两个整数变量 python_score、c_score,编写代码判断成绩
要求只要有一门成绩 >= 60 分就算合格
py_score = input('请输入你的python课程成绩:')
c_score = input('请输入你的C课程成绩:')
if py_score.isdigit() and c_score.isdigit():
py_score = int(py_score)
c_score = int(c_score)
if py_score>=60 or c_score>=60:
print('合格')
else:
print('重修')
else:
if not py_score.isdigit():
print('py的成绩必须输入数字!')
if not c_score.isdigit():
print('c的成绩必须输入数字!')
- 闰年判断 输入一个年份(大于 1582 的整数 ),判断这一年是否是闰年,如果是输出 1,否则输出 0。 普通闰年的年份是4的倍数,且不是100的倍数;世纪闰年的年份必须是400的倍数。
year = int(input('请输入年份:'))
if (not year % 4 and year % 100 ) or not year % 400:
print('是闰年')
else:
print('不是闰年')