流程控制语句
在Python中,有三种控制流类型:
顺序结构
分支结构
循环结构
复杂的语句也都是由这三个基本的控制流组成的。
1. 顺序结构:
顺序结构就是普通的自上而下运行的代码结构。
a = '顺序结构
print(a)
b = '自上而下'
print(b)
c = '逐条运行'
print(c)
2. 分支结构:
分支结构又称为条件控制语句。
Python条件语句是通过一条或多条语句的执行结果(True或者False) 来决定执行的代码块。
if <条件判断1>:
 <执行语句块1>
elif <条件判断2>:
 <执行语句块2>
elif <条件判断3>:
 <执行语句块3>
else:
 <执行语句块4>
3. 实例练习
判断输入的年龄是否已成年:
(1) 单分支结构
age = int(input('请输入您的年龄: '))
if age >= 18:
 print('your age is',age)
 print('adult')
#--------------------------------
请输入您的年龄: 23
your age is 23
adult
#--------------------------------
(2) 搭配else使用:二分支结构
age = int(input('请输入您的年龄: '))
if age >= 18:
 print('your age is',age)
 print('adult')
else:
 print('you age is', age)
 print('teenager')
#-------------------------------- 
请输入您的年龄: 23
your age is 23
adult
#--------------------------------
(3) 搭配elif使用,新增判断条件:多分支结构
age = int(input('请输入您的年龄: '))
if age >= 18:
 print('your age is',age)
 print('adult')
elif age >=6 :
 print('teenager')
else:
 print('kid')
#--------------------------------
请输入您的年龄: 18
your age is 18
adult
#--------------------------------
4. if条件判断
a = 1
if a == 1:
 print('这句执行了')
print('一定会执行')
#--------------------------------
这句执行了
一定会执行
#--------------------------------
a = 2
if a == 1:
 print('这句不执行')
print('一定会执行')
#--------------------------------
一定会执行
#--------------------------------
a = 1
if a == 1:
 print('if内部代码')
else:
 print('else内部代码') 
print('一定会执行')
#--------------------------------
if内部代码
一定会执行
#--------------------------------
a = 3
if a == 1:
 print('if内部代码')
elif a == 2:
 print('elif内部代码')
else:
 print('else内部代码')
print('一定会执行')
#--------------------------------
else内部代码
一定会执行
#--------------------------------
a = 3
if a == 1:
 print('if内部代码')
elif a == 2:
 print('elif内部代码2')
elif a == 3:
 print('elif内部代码3')
elif a == 4:
 print('elif内部代码4')
else:
 print('else内部代码')
print('一定会执行')
#--------------------------------
elif内部代码3
一定会执行
#--------------------------------
5. 练习一
预设:age = 20, time = 60
请使用if函数写出以下逻辑: 如果年龄age在24岁或以下,并且每天使用电脑的时间time超过30分钟,则打印"这个人喜欢电脑游戏";如果每天使用电脑的时间少于30分钟,则打印"这个人不喜欢电脑游戏"。如果年龄age在24岁以上,则打印"不在调查范围内"。
age = int(input('请输入您的年龄:'))
if age <= 24:
 time = int(input('每天使用电脑的时间:'))
 if time >= 30:
 print('这个人喜欢玩电脑游戏!')
 else:
 print('这个人不喜欢电脑游戏!')
else:
 print('不在调查范围内!')
#----------------------------------------------
请输入您的年龄:34
不在调查范围内!
#----------------------------------------------
age = 20
time = 60
if age <= 24: 
 if time >= 30:
 print('这个人喜欢电脑游戏')
 else:
 print('这个人不喜欢电脑游戏')
else:
 print('不在调查范围内')
#----------------------------------------------
这个人喜欢电脑游戏
#----------------------------------------------
age = 20
time = 60
if age <= 24 and time >= 30: 
 print('这个人喜欢电脑游戏')
else:
 print('这个人不喜欢电脑游戏')
#---------------------------------------------- 
这个人喜欢电脑游戏
#----------------------------------------------
//
6. 练习二
小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高(单位米)的平方)帮小明计算他的BMI指数,
并根据BMI指数:
低于18.5:过轻 18.5-25:正常 25-28:过重 28-32:肥胖 高于32:严重肥胖 用if-elif判断并打印结果:
height = float(input('请输入您的身高:'))
weight = float(input('请输入您的体重:'))
BMI = weight / (height ** 2)
print(BMI)
if BMI < 18.5:
 print('过轻!')
elif BMI < 25:
 print('正常!')
elif BMI < 28:
 print('过重!')
elif BMI < 32:
 print('肥胖!')
else:
 print('严重肥胖!')
#---------------------------------------------- 
请输入您的身高:160
请输入您的体重:50
0.001953125
过轻!
#----------------------------------------------
# height = 1.75
# weight = 80.5
height = float(input('请输入您的身高:'))
weight = float(input('请输入您的体重:'))
BMI = weight / (height** 2)
if BMI < 18.5:
 print('过轻')
elif BMI < 25:
 print('正常')
elif BMI < 28:
 print('过重')
elif BMI < 32:
 print('肥胖')
else:
 print('严重肥胖')
#----------------------------------------------
请输入您的身高:16
请输入您的体重:50
过轻
#----------------------------------------------
//
7. 练习三
要求:从键盘获取自己的年龄,判断是否大于或者等于18岁,如果满足就输出“哥,已成年,网吧可以去了”
使用input从键盘中获取数据,并且存入到一个变量中 使用if语句,来判断 age>=18是否成立
age = int(input('请输入您的年龄:'))
if age >= 18:
 print('哥,已成年,网吧可以去啦!')
else:
 print('未成年,不能去网吧哦!')
#---------------------------------------------- 
请输入您的年龄:23
哥,已成年,网吧可以去啦!
#----------------------------------------------
age = int(input('请输入您的年龄:'))
if age >= 18:
 print('哥,已成年,网吧可以去了!')
else:
 print('未成年,不可以去网吧哦!')
#----------------------------------------------
请输入您的年龄:32
哥,已成年,网吧可以去了!
#----------------------------------------------
//
8. if 嵌套
通过学习if的基本用法,已经知道了
当需要满足条件去做事情的这种情况需要使用if 当满足条件时做事情A,不满足条件做事情B的这种情况使用if-else 想一想:
坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?
答: if嵌套
if嵌套的格式
if 条件1:
 满足条件1 做的事情1
 满足条件1 做的事情2
 ...(省略)...
 if 条件2:
 满足条件2 做的事情1
 满足条件2 做的事情2
 ...(省略)...
card = int(input('请输入1:代表有车票,0:代表没有车票'))
if card == 1:
 print('有车票,可以进站!')
 knifelen = int(input('请输入您的刀子的长度:'))
 if knifelen < 10:
 print('通过安检!')
 print('终于可以见到他了,美滋滋!')
 else:
 print('没有通过安检!')
 print('刀子的长度超过规定,等待警察处理。。。')
else:
 print('没有车票,不能进站!')
 print('亲爱的,那就下次见了,一票难求啊~~~(>_<)~~~~')
#----------------------------------------------------------
请输入1:代表有车票,0:代表没有车票1
有车票,可以进站!
请输入您的刀子的长度:12
没有通过安检!
刀子的长度超过规定,等待警察处理。。。
#----------------------------------------------------------
Card = 1 # 用1代表有车票,0代表没有车票
KnifeLen = 9 # 刀子的长度,单位为cm
if Card == 1:
 print("有车票,可以进站")
 if KnifeLen < 10:
 print("通过安检")
 print("终于可以见到Ta了,美滋滋~~~")
 else:
 print("没有通过安检")
 print("刀子的长度超过规定,等待警察处理...")
else:
 print("没有车票,不能进站")
 print("亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~")
#----------------------------------------------------------
有车票,可以进站
通过安检
终于可以见到Ta了,美滋滋~~~
#----------------------------------------------------------
//
9. 练习一
情节描述:上公交车,并且可以有座位坐下
要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果空座位的数量大于0,就可以坐下
In [18]:
card = int(input('请输入您的公交卡当前余额:'))
if card > 2:
 print('可以上车!')
 seat = int(input('请输入空座位数量:'))
 if seat > 0:
 print('请坐!')
 else:
 print('默默地站着!')
else:
 print('余额不足!')
 print('亲爱的,那就下次见了,一票难求啊~~~~(><)~~~~')
#----------------------------------------------------------
请输入您的公交卡当前余额:12
可以上车!
请输入空座位数量:3
请坐!
#----------------------------------------------------------
# balance = int(input('请输入您的公交卡余额:'))
# unocseat = int(input('输入空座位的数量:'))
balance = input('请输入您的公交卡余额:')
balance = int(balance)
if balance > 2:
 print('可以上公交车!')
 unocseat = input('输入空座位的数量:')
 unocseat = int(unocseat)
 if unocseat > 0:
 print('坐!')
 else:
 print('默默地站着!')
else:
 print('余额不足!')
 print('亲爱的,那就下次见了,一票难求啊~~~(>_<)~~~')
#----------------------------------------------------------
请输入您的公交卡余额:13
可以上公交车!
输入空座位的数量:4
坐!
#----------------------------------------------------------
//
10. 练习二 判断年份是否是闰年
提示:
能被400整除的年份
能被4整除,但是不能被100整除的年份
以上2种方法满足一种即为闰年
year = input('请输入年份:')
if year.isdigit() and len(year) == 4:
 year = int(year)
 if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
 print('您输入的%s是闰年!' % year)
 else:
 print('您输入的%s是平年!' % year)
else:
 print('输入有误,请重新输入:')
#------------------------------------------------------------ 
请输入年份:1989
您输入的1989是平年!
#------------------------------------------------------------ 
year = input('请输入年份:')
if year.isdigit() and len(year) == 4: # 是数字并且长度为4才执行判断,
 year = int(year)
 if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
 print('您输入的{}是闰年!' .format(year))
 print('您输入的%s是闰年年!!' % year)
 else:
 print('您输入的{}是平年!' .format(year))
 print('您输入的%s是平年!!' % year)
else:
 print('输入错误请重新输入:')
#------------------------------------------------------------ 
请输入年份:2019
您输入的2019是平年!
您输入的2019是平年!!
#------------------------------------------------------------