流程控制
流程: 计算机执行代码的顺序,就是流程。
流程控制: 对计算机代码执行顺序的控制,就是流程控制。
流程分类: 流程控制一共分为三类,分别是 顺序结构、分支(选择)结构、循环结构。
顺序结构
顺序结构就是代码一种自上而下执行的结构,这是Python默认的流程。
分支(选择)结构
分支结构一共分为4类,分别是 单项分支、双项分支、多项分支、巢状分支
单项分支
-
格式:
if 条件语句:
语句1
语句2
...
如果条件语句成立 那么就执行语句1、语句2...如果条件语句不成立,那么就结束
示例代码:
name = input("请输入您的用户名:")
if name == "admin":
print("欢迎回家~~~")
特征:
1.if条件表达式结果为真,则执行if之后所控制的代码组,如果为假,则不执行后面的代码组
2.冒号:之后下一行的内容必须缩进,否则语法错误
3.if之后的代码中如果缩进不一致,则可能缩进不一致的代码不会受到if条件表达式的控制
4.冒号:后面的代码是在条件表达式结果为真的情况下执行,所以称之为真区间 或 if区间
双项分支
格式:
if 条件语句:
语句1
语句2
......
else:
语句3...
如果判断条件成立,那么执行语句1、语句2......,如果条件不成立,那么执行语句3...
实例代码:
name = input("请输入您的用户名:")
if name == "admin":
print("欢迎回家~~~")
else:
print("你是坏人~~~")
name = input("请输入您的用户名:")
pwd = int(input("请输入您的密码:"))
if name == "admin" and pwd == 123:
print("登陆成功")
else:
print("用户名或者密码不正确!")
特征:
1.双项分支有两个区间,分别是 True控制的if区间 和 False控制的else区间
2.if区间的内容在双项分支中必须缩进,否则语法错误
多向分支
格式:
if 条件语句:
语句1
elif 条件语句:
语句2
elif 条件语句:
语句3
......
else:
语句4
......
- 如果if判断成功,那么执行语句1
- 如果if判断不成功,那么开始判断elif条件语句,判断成功,执行语句2,判断不成功,继续判断下一个elif条件,直到有一个elif条件判断成功为止,elif条件判断成功之后,不再向下执行后边的elif语句
- 如果所有elif语句都不成功,那么执行else语句
实例代码:
# 定义控制台输入的变量
doller = int(input("请输入您的月收入:"))
# 一系列判断
if 0 <= doller <= 4000:
print("手动黑人问号")
elif 4000 < doller <= 10000:
print("不错")
elif 10000 < doller <= 20000:
print("优秀!")
elif doller > 20000:
print("牛逼!")
else:
print("你是来捣乱的吧?!")
练习
1.判断生肖
"""
用户输入一个年份
判断生肖
2000年龙年
将年份对12取余 得8的都是龙年
"""
year = int(input("请输入一个年份:"))
#判断如果输入的年份对12取余 余数的8
if year % 12 == 8:
#那么就输出龙年
print("辰龙")
elif year % 12 == 9:
print("巳蛇")
elif year % 12 == 10:
print("午马")
elif year % 12 == 11:
print("未羊")
elif year % 12 == 0:
print("申猴")
elif year % 12 == 1:
print("酉鸡")
elif year % 12 == 2:
print("戌狗")
elif year % 12 == 3:
print("亥猪")
elif year % 12 == 4:
print("子鼠")
elif year % 12 == 5:
print("丑牛")
elif year % 12 == 6:
print("寅虎")
else:
print("卯兔")
2.彩票程序:
# 方法1:
# 加载随机数模块
import random
# 生成一个10~99的随机数
luck_num = list(str(random.randint(10,99)))
buy_num = list(input("请输入要购买的两个幸运数字:"))
# 数字相同,顺序相同,一等奖
if buy_num == luck_num:
print("恭喜!您获得了一等奖!")
# 数字相同,顺序不同,二等奖
elif buy_num[0] == luck_num[1] and buy_num[1] == luck_num[0]:
print("恭喜!您获得了二等奖")
# 只对一个数字,三等奖
elif buy_num[0] == luck_num[0] or buy_num[1] == luck_num[1] or buy_num[0] == luck_num[1] or buy_num[1] == luck_num[0]:
print("恭喜!您获得了三等奖!")
# 一个都不对,未中奖
else:
print("很遗憾,您未中奖!")
# 方法2:
import random
luck_num = list(str(random.randint(10,99)))
buy_num = list(input("请输入要购买的两个幸运数字:"))
# 如果两个列表的第一个元素相等
if buy_num[0] == luck_num[0]:
# 如果第二个元素也相等,一等奖
if buy_num[1] == luck_num[1]:
print("恭喜!您获得了一等奖!奖品是:《python从入门到入土~》")
# 如果第二个元素不相等,三等奖
else:
print("恭喜!您获得了三等奖!奖品是:《python从入门到放弃~》")
# 如果元素相等,顺寻不同,二等奖
elif buy_num[0] == luck_num[1] and buy_num[1] == luck_num[0]:
print("恭喜!您获得了二等奖!奖品是:《python入门到入院~》")
# 如果用户的第一个数字和开奖第一个不等,与开奖第二个数字相等或用户第二个数字与开奖第二个数字相等
elif buy_num[0] == luck_num[1] or buy_num[1] == luck_num[1]:
print("恭喜!您获得了三等奖!奖品是:《python从入门到放弃~》")
# 其他情况不中奖
else:
print("很遗憾,您未中奖")
循环结构
循环结构可以减少源程序重复书写的工作量(代码量),用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构。
Python中循环结构分为两类,分别是 while 和 for .. in
while 循环
格式:
while 条件判断:
python语句
如果条件成立 程序会循环执行语句 直到条件判断失败
while循环 最主要的是要给程序一个终止的条件
实例代码:
count = 0
while count < 5:
print("%s I love Python "%(count))
count += 1
break
翻译:破坏,结束
作用:在循环中break的作用是终止当前循环结构的后续所有操作,程序运行了break,循环也就终止了。
continue
翻译:继续
作用:在循环中continue的作用是跳过本次循环,开始下一次循环。continue执行之后本次循环的后续代码不再执行,直接进入下一次循环
pass
翻译:忽略
作用:pass是没有任何意义的空语句,主要用来占位用,避免语法错误。
网友评论