流程控制的基本概念

今日学习汇总

1.流程控制的基本概念

什么是流程控制

      流程控制,就是控制事物的流程。简单来说,在日常生活中,我们总是会重复做某件事,比如每天早上起来我们都会刷牙洗脸,但是,有时候因为有急事,比如突然出啥事了,或者起晚了,你就不会在早上刷牙洗脸了。而洗脸的流程也是我们控制的,比如有时候你想先洗脸后刷牙,有时候你想先刷牙后洗脸。

执行流程的分类

      1. 顺序结构

      顺序结构是从上而下依次执行的,例如我们之前的学习总结中使用的代码就是顺序结构。

      2. 分支结构

      分支结构就是根据条件的不同,做出不同的选择。生活中的例子就是,比如我周末想出去玩,这时候你兄弟叫你上号,你可以选择上号,那就待在家里打游戏,而你也可以选择出去玩。根据你选择的不同,你接下来要做的事情也不同。代码也可以实现,根据条件的不同,执行不同的代码。

      3. 循环结构

      循环结构,就是根据条件的判断来重复执行某件相同的事。当不满足这个条件的时候,就会结束循环。生活上的例子,就是流水线工作,上班的时候,就一直做你的工作内容,下班你就不会重复做工作内容了,你就会玩,或者休息去了。

2.分支结构

今日必知必会内容、

      1. 在python中,用缩进来表示代码的从属关系。我们通常将缩进的代码称为某某代码的子代码,比如:

    # 这就是 if 判断语句,是否执行,由 if 判断
    if a > b:
        print('a确实大于b')  # 这就是if判断语句的子代码

      2. 并不是所有代码都有子代码,目前即将学习的if,else, while都有子代码、

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

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

      5. 如果一行代码的结尾是冒号结束 那么紧挨着的下一行必缩进,冒号的含义相当于是要拥有子代码。

单if分支

      示例代码:

    a = 1
    b = 2
    if a < b:
        print('特定代码')
    # 后续代码

      当满足条件语句(a<b)时,运行()中的特定代码,反之不运行。流程图:

if else双选择分支

      示例代码:

    a = 1
    b = 2
    if a < b:
        print('特定代码1')
    else
        print('特定代码2')
    # 后续代码

      当满足条件语句(a<b)时,运行特定代码1,反之运行特定代码2。流程图:

if与elif与else分支

      示例代码:

    a = 1
    b = 2
    if a < b:
        print('特定代码1')
    elif a = b:
        print('特定代码2')
    else:
        print('特定代码3')
    # 后续代码
    # 中间elif可以有很多个,根据你自己的条件需求来设置

      当满足条件语句(a<b)时,运行特定代码1,满足(a=b)时,运行特定代码2,如果都不满足,运行特定代码3。流程图:

if的嵌套

      示例代码:

    a = 1
    b = 2
    c = 3
    if a < b:
        print('代码1')
        if a > c:
            print('代码2')
        else:
            print(''代码3)
    else:
        print('代码4')

      当满足(a<b)时,运行代码1,并且判断(a>c)是否成立,如果成立,则运行代码2
反之运行代码3.如果不满足(a<b),则运行代码4.流程图:

3.while循环

      当满足条件表达式时,运行特定逻辑代码。若条件表达式一直被满足,则循环不会停止。特定逻辑代码中需要有让条件表达式失效的处理。代码示例:

    while True:
        # 1.获取用户的用户名和密码
        username = input('username>>>:')
        password = input('password>>>:')
        # 2.校验/判断用户名和密码是否正确
        if username == 'jason' and password == '123':
            print('登录成功')
        else:
            print('用户名或密码错误')

      流程图:

      在这个示例代码中,因为True一直被满足,所以这个程序不会结束,无论登录成功还是登录失败,他只会提示你输入是否正确,然后重复让你输入。而失效处理的方式就是 break

      break是用于结束本层循环,只能结束所在的那一层循环(因为循环也是嵌套的),代码示例:

    while True:
        # 1.获取用户的用户名和密码
        username = input('username>>>:')
        password = input('password>>>:')
        # 2.校验/判断用户名和密码是否正确
        if username == 'jason' and password == '123':
            print('登录成功')
            break  # 结束本层循环
        else:
            print('用户名或密码错误')

      流程图:

      在示例代码中,只要你输入的用户名和密码正确,就会结束程序,反之虎一直运行,直到输入正确为止。这个是无限输入的。还有一种结束本次循环的方法,但是又有点不一样,那就是continu,continu是用于结束本次循环 直接开始下一次循环的,代码示例:

      count = 1
        while count < 11:
            if count == 4:
                count += 1
                continue  # 结束本次循环 开始下一次循环
                '''直接跳到条件判断的地方重新执行'''
            print(count)
            count += 1 

      流程图:

4.课后练习

    # 1. 用户登录
    username = input('用户名: ')  # 请输入你的用户名
    password = input('密码: ')    # 请输入你的密码

    if username == 'jason' and password == '123':  # 假如你的用户名等于jason并且密码等于123
        print('登录成功')  # 登录成功
    else:  # 否则
        print('用户名或密码错误')  # 用户名或密码错误

    #2. 成绩评定
    cj = input('成绩: ')  # 请输入你的成绩
    cj = int(cj)  # 将输入的成绩强制转换成整型

    if cj > 90:  # 假如成绩大于90
        print('优秀')  # 打印优秀
    elif cj > 80:  # 假如成绩大于80
        print('良好')  # 打印良好
    elif cj > 70:  # 假如成绩大于70
        print('一般')  # 打印一般
    elif cj > 60:  # 假如成绩大于60
        print('及格')  # 大于及格
    else:    # 否则
        print('挂科')  # 挂科
    
    # 3.今日练习
    i = 0  # 设置变量i = 0
    age = 24  # 年龄 = 24
    while i < 4:  # 当i < 4时
        a = input("请猜测一位'女士'的年龄:")  # 请猜测年龄
        a = int(a)  # 将年龄转换为整型
        if a == age:  # 假如猜测的年龄与真是年龄相等
            print('回答成功')  # 回答成功
            break  # 结束本层循环
        else:  # 否则
            print('回答错误')  # 回答错误
            i += 1  # i += 1
            if i == 3:  # 假如 i = 3
                str = input('是否继续猜测:')  # 请输入是否继续猜测
                if str == 'y':    # 假如输入y
                    i = 0    # i= 0
                else:  # 否则
                    break   # 结束这次循环
posted @ 2022-03-07 17:32  くうはくの白  阅读(437)  评论(0)    收藏  举报