Python语法入门之流程控制if判断
流程控制if判断
文章目录
- 流程控制if判断
- 一 引子:
- 二 分支结构
- 2.1 什么是分支结构
- 2.2 为什么要用分支结构
- 2.3 如何使用分支结构
- if判断:
- 引入
- 三 if 判断完整语法
- 四 if 单分支
- 示例
- 五 if...else 双分支
- 示例
- 六 if...elif...elif 多分支
- 示例
- 七 if 嵌套
- 示例
一 引子:
流程控制即控制流程,具体指控制程序的执行流程,而程序的执行流程分为三种结构:顺序结构(之前我们写的代码都是顺序结构)、分支结构(用到if判断)、循环结构(用到while与for)
二 分支结构
2.1 什么是分支结构
分支结构就是根据条件判断的真假去执行不同分支对应的子代码
2.2 为什么要用分支结构
人类某些时候需要根据条件来决定做什么事情,比如:如果今天下雨,就带伞
所以程序中必须有相应的机制来控制计算机具备人的这种判断能力
2.3 如何使用分支结构
if判断:
引入
if
判断是为了让计算机像人一样具有判断能力- 代码块表示同一级别缩进的所有代码,python默认缩进是四的字节
- 伪代码可以理解成是逻辑代码 / 代码模型
三 if 判断完整语法
用if关键字来实现分支结构,完整语法如下
if 条件1: # 如果条件1的结果为True,就依次执行:代码1、代码2,......
代码1
代码2
......
elif 条件2: # 如果条件2的结果为True,就依次执行:代码3、代码4,......
代码3
代码4
......
elif 条件3: # 如果条件3的结果为True,就依次执行:代码5、代码6,......
代码5
代码6
......
else: # 其它情况,就依次执行:代码7、代码8,......
代码7
代码8
......
# 注意:
# 1、python用相同缩进(4个空格表示一个缩进)来标识一组代码块,同一组代码会自上而下依次运行
# 2、条件可以是任意表达式,但执行结果必须为布尔类型
# 在if判断中所有的数据类型也都会自动转换成布尔类型
# 2.1、None,0,空(空字符串,空列表,空字典等)三种情况下转换成的布尔值为False
# 2.2、其余均为True
四 if 单分支
?伪代码展示
if 条件1:
代码1
代码2
代码3
示例
如果:女人的年龄>30岁,那么:叫阿姨
age_of_girl=31
if age_of_girl > 30:
print('阿姨好')
?相亲
song='man'
age=27
is_verygood=True
is_yes=False
if song == 'man' and (age > 18 and age < 26 or is_verygood):
print('结婚')
五 if…else 双分支
?伪代码展示
if 条件1:
代码1
代码2
代码3
else:
代码1
代码2
代码3
示例
如果:女人的年龄>30岁,那么:叫阿姨,否则:叫小姐
age_of_girl=18
if age_of_girl > 30:
print('阿姨好')
else:
print('小姐好')
# 结婚
song='man'
age=27
is_verygood=True
if song == 'man' and (age > 18 and age < 26 or is_verygood):
print('结婚')
else:
print('bujiehun')
六 if…elif…elif 多分支
?伪代码展示
if 条件1:
代码1
代码2
代码3
elif 条件2:
代码1
代码2
代码3
elif 条件3:
代码1
代码2
代码3
示例
如果:成绩>=90,那么:优秀
如果成绩>=80且<90,那么:良好
如果成绩>=70且<80,那么:普通
其他情况:很差
?成绩
score=input('你的分数:')
score=int(score)
if score >= 90:
print('你牛逼')
elif score >= 80:
print('还不错')
elif score >= 75:
print('一般般')
else:
print('真差劲')
七 if 嵌套
示例
?猜年龄
瓦文的年龄=38
count = 1
while count <= 5:
cnl = input('输入你猜测的瓦文的年龄:').strip()
if cnl.isdigit():
cnl = int(cnl)
if cnl > 瓦文的年龄:
print('她有这么老吗?')
print('再猜!睁大眼睛')
print('剩余猜测次数:',count)
count+= 1
continue
elif cnl < 瓦文的年龄:
print('你是眼瞎吗?她有这么年轻???')
print('再猜错你日子就到头了!!!')
print('剩余猜测次数:', count)
count+= 1
continue
else:
print('有眼光啊!小伙子')
break
else:
print('报警扎起来')
#在表白的基础上继续:
#如果表白成功,那么:在一起
#否则:打印。。。
age_of_girl=18
height=171
weight=99
is_pretty=True
success=False
if age_of_girl >= 18 and age_of_girl < 22 and height > 170 and weight < 100 and is_pretty == True:
if success:
print('表白成功,在一起')
else:
print('什么爱情不爱情的,爱nmlgb的爱情,爱nmlg啊...')
else:
print('阿姨好')
练习1: 登陆功能
name=input('请输入用户名字:').strip()
password=input('请输入密码:').strip()
if name == 'tony' and password == '123':
print('tony login success')
else:
print('用户名或密码错误')
练习2:
#!/usr/bin/env python
#根据用户输入内容打印其权限
'''
egon --> 超级管理员
tom --> 普通管理员
jack,rain --> 业务主管
其他 --> 普通用户
'''
name=input('请输入用户名字:')
if name == 'egon':
print('超级管理员')
elif name == 'tom':
print('普通管理员')
elif name == 'jack' or name == 'rain':
print('业务主管')
else:
print('普通用户')