目录
❤ 顺序语句
❤ 选择(分支)结构
1. 单分支选择结构
2. 双分支选择结构
3. 多分支选择结构
4. 选择结构嵌套使用
在一个程序(代码)执行过程中,各条语句(代码),执行顺序,对程序的结果有直接影响,我们通过流程控制语句,来控制代码的走向,实现预期的结果,流程控制语句有3种结构:顺序结构、选择(分支)结构、循环结构
在程序中,代码执行的顺序,就是按照代码出现的位置决定的(自上而下)
print('---欢迎使用简易计算器---')
n1 = int(input('请输入第1个数:'))
n2 = int(input('请输入第2个数:'))
print('==欢迎进入计算模式==')
print(f'{n1}+{n2}={n1+n2}')
print('-------BeyBey-------')
输出:
---欢迎使用简易计算器---
请输入第1个数:2
请输入第2个数:6
==欢迎进入计算模式==
2+6=8
-------BeyBey-------
选择结构就是,根据条件是否成立,决定执行那个分支(选择),在Python中,分支结构分为3种情况:单分支选择结构、双分支选择结构、多分支选择结构
if 条件:
语句段(代码)
......
如果单分支语句的代码块只有一条语句,可以把if语句和代码写在同一行:
if 判断条件: 一句代码
格式说明:当条件为真(正确)时,执行后边的缩进语句段,如果条件为假(错误)时,跳过缩进语句段,执行下方的代码
sex = input('请输入您的性别:')
if '男' == sex:
print('我是男生')
print('BeyBey')
也可以这样:
sex = input('请输入您的性别:')
if '男' == sex:print('我是男生')
print('BeyBey')
输出:
请输入您的性别:男
我是男生
BeyBey
多练习一下:
n1 = 300
n2 = 200
if n1 > n2:
print('我最大')
print('程序结束')
输出:
我最大
程序结束
练习:
获取键盘输入的2个整数,如果2个数都大于0,计算2个数相加结果并输出
n1 = int(input('请输入第1个数:'))
n2 = int(input('请输入第2个数:'))
if n1 > 0 and n2 > 0:
res1 = n1 + n2
print(res1)
输出:
请输入第1个数:1
请输入第2个数:4
5
语法格式:
if 条件:
语句段1
else:
语句段2
格式说明:当条件为真(正确)时,执行语句段1,否则执行语句段2
print('|===欢迎进入用户登录页面===|')
uname = input('请输入用户名:')
passwd = input('请输入密码:')
# 假设正确的用户名和密码是 root / 123456
if 'root' == uname and '123456' == passwd:
print('登录成功')
else:
print('用户名或密码错误')
输出:
|===欢迎进入用户登录页面===|
请输入用户名:root
请输入密码:123456
登录成功
练习:
获取键盘输入的年龄(age),判断是否可以上网,如果年龄大于18岁,输出可以上网冲浪,否则输出好好学习天天向上
age = int(input('请输入您的年龄:'))
if age > 18:
print('上网冲浪~~~')
else:
print('好好学习天天向上')
输出:
请输入您的年龄:20
上网冲浪~~~
练习:
获取键盘输入的2个整数,比较大小,输出较大的数
n1 = int(input('请输入第1个数:'))
n2 = int(input('请输入第2个数:'))
if n1 > n2:
print(n1)
else:
print(n2)
输出:
请输入第1个数:2
请输入第2个数:5
5
if 条件1:
语句段1
elif 条件2:
语句段2
......
else:
语句段n
当上面的“判断条件”中的表达式可以是任意的表达式,也可以是任意类型的数据对象实例。只要判断条件的最终返回结果的“真”值测试为True时,就表示该条件成立,相应的代码块就会被执行;否则表示条件不成立,需要判断下一个条件。
获取键盘输入的分数(score),根据分数,输出分数的等级
90--100 A级-优秀 80--89 B级-良好
70--79 C级-中等 60--69 D级-及格
0---59 E级-重修
score = int(input('请录入您的分数(0-100):'))
if 90 <= score <= 100:
print('A级-优秀')
elif 80 <= score <= 89:
print('B级-良好')
elif 70 <= score <= 79:
print('C级-中等')
elif 60 <= score <= 69:
print('D级-及格')
elif 0 <= score <= 59:
print('E级-重修')
else:
print('您输入的分数有误,请重新输入')
输出:
请录入您的分数(0-100):65
D级-及格
练习:
编写一个bmi值检测程序,获取键盘输入的身高(sg)和体重(tz),计算bmi值,根据bmi值,输出身体情况:
过轻-低于18.5 正常-18.5-24.99
过重-25-28 肥胖-28-32
非常肥胖-高于32
公式:体重(KG)除以身高(M)的平方
sg = float(input('请输入您的身高(M):'))
tz = float(input('请输入您的体重(KG):'))
bmi = tz / sg ** 2
print('bmi值是:%.2f' % bmi)
if bmi > 32:
print('非常肥胖')
elif 28 <= bmi <= 32:
print('肥胖')
elif 25 <= bmi < 28:
print('过重')
elif 18.5 <= bmi <= 24.99:
print('正常')
elif bmi < 18.5:
print('过轻')
输出:
请输入您的身高(M):1.75
请输入您的体重(KG):140
bmi值是:45.71
非常肥胖
if 条件1:
#语句段1
if 条件2:
语句段2
else:
#语句段n
if 条件3:
语句段3
elif 条件4:
语句段4
.....
else:
语句段m
来个好玩的,非常现实的相亲流程:
# 房 -- 车 -- 存款
print('===一般相亲流程===')
fang = input('1.有房吗(Y/N)?:')
if 'Y' == fang:
print('继续交谈...')
che = input('2.有车吗(Y/N)?:')
if 'Y' == che:
print('继续交谈...')
ck = float(input('3.有存款吗?:'))
if ck > 5000000:
print('准备结婚吧!')
elif 1000000 <= ck <= 4999999:
print('稍等..打个电话...')
else:
print('我们下次再聊吧')
else:
print('在奋斗几年吧')
else:
print('相亲结束!')
输出:
===一般相亲流程===
1.有房吗(Y/N)?:Y
继续交谈...
2.有车吗(Y/N)?:Y
继续交谈...
3.有存款吗?:10000000
准备结婚吧!
练习:
获取键盘输入的年份(year),判断年份,是否在2000---5000年之间,如果在,判断是平年还是闰年,如果不在给出信息提示
分析:
闰年: year % 4 == 0 并且 year % 100 != 0 或者 year % 400 == 0
year = int(input('请输入年份:'))
if 2000 <= year <= 5000:
print('继续判断')
if (year % 4 == 0 and year % 100 != 0) or \
year % 400 == 0:
print('闰年')
else:
print('平年')
else:
print('您输入的年份有误!')
输出:
请输入年份:2022
继续判断
平年
综合练习:
判断三角形问题,获取键盘输入的3角形三边(a, b, c),判断输入的
三边(a, b, c)是否可以组成三角形,如果可以,判断是什么三角形(等边、等腰、直角),如果不可以,输出提示信息
分析:
任意2边之和大于第3边
a = int(input('请输入a边长度:'))
b = int(input('请输入b边长度:'))
c = int(input('请输入c边长度:'))
if a > 0 and b > 0 and c > 0 and a+b>c and \
b+c>a and a+c>b:
print('可以组成三角形')
if a == b == c:
print('等边三角形')
elif a == b or b == c or a == c:
print('等腰三角形')
else:
print('不能组成三角形')
输出:
请输入a边长度:3
请输入b边长度:4
请输入c边长度:5
可以组成三角形
直角三角形