流程控制

目录


流程控制概要

流程控制即为控制流程,具体指控制程序执行的流程。大体可分为三种结构:顺序结构、分支结构、循环结构
流程控制

流程控制详解

顺序结构

自上而下依次运行,没啥特别的

  • 流程图:
    流程控制

分支结构

if分支结构

  • 流程图
    流程控制
  • if分支结构的分类
    1.单if分支结构
    2.if与else连用
    3.if与elif、else连用
    
    针对if多条件以及嵌套问题进行详细讲解
    语法结构:
    	if 条件1:
    		条件1成立下执行的代码块
    	elif 条件2:
    		条件2成立下执行的代码块
    	elif 条件3:
    		条件3成立下执行的代码块
    	...
    	else:
    		上述条件都不满足情况下,需要执行的代码块
    	
    经典例题:根据学生的成绩
    代码如下:
    	# 学生考试成绩评级
    	score = input('请输入学生的成绩>>>:')
    	score = int(score)
    	if 0 <= score <= 100:
    	    if score >= 90:
    	        print('该学生学业成绩评级为优秀')
    	    elif score >= 80:
    	        print('该学生学业成绩评级为良好')
    	    elif score >= 70:
    	        print('该学生学业成绩评级为一般')
    	    elif score >= 60:
    	        print('该学生学业成绩评级为及格')
    	    else:
    	        print('该学生学业成绩评级为不及格,下学期开学准备补考')
    	else:
    	    print('分数输入有误,请重新输入')
    
    在if判断中所有的数据类型也都会自动转换成布尔类型
    	None,0,空(空字符串,空列表,空字典等)三种情况下转换成的布尔值为False
    	其余均为True 
    

循环结构

所谓循环就是不断重复的流程

  • 流程图
    流程控制

while循环体

while语法:
	while 条件:
		代码块

while搭配break、continue、else使用
ps:	与break连用,是自内向外破坏一层循环,直接跳出来
	与continue连用,是跳过本次循环,仍回到while条件上进一步判断是否继续执行
	与else连用时,else后代码的执行与否取决于循环是否遭到break强行终止,没有则运行

实例一:猜年龄
real_age = 24
count = 0
while 1: 
    if count == 3:
        choice = input('您已经尝试了三次,是否继续(y/n)>>>:')
        if choice == 'y':
            count = 0
        else:
            print('下次再来')
            break
    guess_age = input('请输入你猜的年龄>>>:')
    guess_age = int(guess_age)
    if guess_age > real_age:
        print('猜大了,你还有%s次机会' %(2-count))
    elif guess_age < real_age:
        print('猜小了,你还有%s次机会' %(2-count))
    else:
        print('猜对了')
        break
    count += 1

实例二:打印0,1,2,3,5
for i in range(6):
    if i == 4:
        i += 1
        continue
    print(i)
    i += 1
else:
    print('没有被break强制终止,寿终正寝,else正常运行')

for循环体

for语法:
for i in 可迭代对象:		# 可迭代对象可以是字符串、列表、字典、元组、集合,当迭代对象为字典时,循环对象为key值
	子代码块
	
for搭配break、continue、else使用,用法基本同while

# 关键字range
1.for i in range(10):  # 顾头不顾尾[0,9]
    print(i)
2.for i in range(4,10):  # 顾头不顾尾[4,9]
    print(i)
3.for i in range(1,9,2):  # 第三个参数控制步调
  print(i)  # 1,3,5,7

'''
range在不同版本的解释器中本质不同
python2.X中range会直接生成一个列表  xrange()就弥补了,等同python的迭代器
python3进行优化,range()只占一块空间
'''
流程控制
上一篇:Python基础知识3: if判断语句


下一篇:python入坟的第一天