流程控制、if、elif、else,whilie、break、continue的使用

今日内容

  • 流程控制理论

  • if判断

  • while循环


流程控制概念#

流程控制就是控制事物的执行流程

执行流程的分类#

顺序结构#

从上往下依次执行,代码运行流程图如下

顺序语法结构

分支结构#

根据某些条件判断做出不同的运行流程

循环结构#

根据某些判断循环往复的做相同的事情(不会一直循环,都应该有一个结束循环的条件),类似于一个人每天做一件事情,比如流水线上的操作工,在代码层面上其实就是让一些代码反反复复的执行

流程图如下

循环结构流程图

分支结构分类#

  1. 单if分支
    '''
    语法结构
        if 条件:
            条件成立之后的子代码(可以有多行)
    '''
    # eg
    # 如果女孩子大于38 叫阿姨
    # 先定义一个女孩子的年龄
    age = 39
    # 判断年龄是否大于 38
    if age >38:
        print ('阿姨好')
    

    那么这段代码的流程图就是

    if单语句执行流程

  2. if与else分支
    '''
    语法结构
        if 条件:
            条件成立之后执行的子代码(可以有多行)
        else:
        条件不成立执行的子代码(可以有多行)
    '''
    # eg
    # 如果女孩子的年龄大于38 叫阿姨 否则叫小姐姐
    age = 18
    if age > 38"
    	print('阿姨好')
    else:
    	print('小姐姐')
    

    那么这段代码的流程图就是:

    if  else循环执行流程

  3. if与elif与else分支
'''
语法结构
	if 条件1:
		条件1成立执行的子代码(可以有多行)
	elif 条件2:
		条件1不成立条件2成立执行的子代码(可以有多行)
	elif 条件3:
		条件1和2不成立,条件3成立执行的子代码(可以有多行)
	else:
		上述所有的条件都不成立执行的在子代码(可以有多行)
***中间的elif可以又多个***
'''
# eg
# 如果用户名是tuzi则打印老板,如果是tom则打印猫,如果是jeery则打印老鼠,如果是其他则打印不认识你
username = input('username>>>:')
if username == 'jason'
	print('老板')
elif username == 'tom'
	print('tom')
elif username == 'jerry'
	print('老鼠')
elseprint('不认识你')

那么这段代码的流程图就是:

if  elif   else语句执行流程

if的嵌套
# 一个if判断条件内,还可以再加入if条件判断
# 如果女孩子的年龄大于38说 不好意思认错人了 否则上去要微信
# 如果成功了 则去吃饭 看电影 逛商场 直至天黑 宿舍锁门了!
    age = 22
    is_success = True
    if age < 38:
        print('我观察你很久了想要个联系方式')
        if is_success:
            print('吃饭 看电影 天黑了 睡觉觉')
        else:
            print('去你妹的')
    else:
        print('哎呀不好意思 认错人了')

那么这段代码的执行流程图就是:

if语句嵌套流程图


循环结构#

whille循环

while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。

'''
其语法结构为:
while 判断条件:
    条件成立之后执行的循环体代码
'''
# 执行语句可以是单个语句或语句块,判断条件可以是任何表达式,任何非0非空的值均为Ture,当判断条件为false时,循环结束
# eg:
while True:
    #获取用户的用户名和密码
    username = input('username>>>:')
    password = input('password>>>:')
    # 校验/判断用户名和密码是否正确
    if username == 'tuzi' and password == '123':
        print('登录成功')
    else:
        print('用户名或密码错误')

运行结果为:

image-20220307180607493

而如果用户名和密码一直输入错误,则会一直让用户重新输入,知道输入正确为止,而在这之前,今天真有意思这句话也输出不了,因为该程序还没有跳出while循环。如下图所示

image-20220307174847943

那么该程序运行的流程图为:

while循环的执行流程1

那么现在就发现了一个问题,就是不管有没有输正确,他都会循环运行代码,也就是陷入了死循环,接下来就讲讲怎么解决

#while+break
	break是用于直接结束本层循环
    break只能结束所在那一层的循环
# eg:
# 获取用户的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.校验/判断用户名和密码是否正确
if username == 'tuzi' and password == '123':
    print('登录成功')
    break  # 结束本层循环
else:
     print('用户名或密码错误')
print('今天真有意思!!!')

运行结果图为:

如果输入错误的话,还是让你重新输入

image-20220307174847943

那么该程序的运行流程为

除了break是跳出循环外,continue也是用来跳出循环的

continue是用于结束本次循环,直接开始下一次循环

# eg
count = 1
while count < 11:
    if count == 4:
        count += 1
        continue  # 结束本次循环,开始下一次循环
    print(count)
    count += 1

程序运行结果为

image-20220307184927202

程序的执行流程为:

while+continue执行流程

必知:#

  1. 在python中使用缩进来表示代码的从属关系

  2. 并不是所有的代码都可以有子代码,目前可以有的,if、elif、else、whilie。

  3. 如果多行代码属于同一个父代码,那么这多行代码需要保证相同的缩进量,在python中推荐使用四个空格来表示缩进

  4. 具有相同缩进量的代码彼此之间按照顺序结构执行,没有从属关系,平起平坐

  5. 如果一行代码是冒号结束,那么紧挨着的下一行必缩进

    冒号的含义相当于是要拥有子代码

posted @   香菜根  阅读(601)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
主题色彩
点击右上角即可分享
微信分享提示