• 流程控制


    python语法入门之流程控制

    1、什么是流程控制?

    ​ 流程控制即控制流程,具体指控制程序的执行流程,而程序的执行流程分为三种结构

    • 顺序结构
    • 分支结构
    • 循环结构

    分支结构:

    ​ 分支结构就是根据条件判断的真假去执行不同分支对应的子代码

    ​ if语法:

    ​ if 条件1: #如果条件1的结果为True,就依次执行:代码1,代码2,......

    ​ 代码块1

    ​ 代码块2

    ​ .........

    ​ elif 条件2 #如果条件2的结果为True,就依次执行:代码3,代码4 ........

    ​ 代码块3

    ​ 代码块4

    ​ .........

    ​ else 条件3 #其他情况,就依次执行:代码5,代码6 ......

    ​ 代码5

    ​ 代码6

    ​ .......

    注意:

    ​ 1、python用相同缩进(4个空格表示一个缩进)来标识一组代码块,同一组代码会自下而上依次运行

    ​ 2、条件可以是任意表达式,但执行结果必须是布尔类型

    ​ #在if判断中所有的数据类型也都会自动转换成布尔类型

    ​ None 、0 、空(空字符串、空列表、空子典等)代表布尔值中的 False

    if 应用案例:

    #如果女人的年纪大于30,那么:阿姨好
    age_of_girl = 31
    if age_of_girl > 30:
        print('阿姨好')
    # 如果:女人的年龄大于30,那么:叫阿姨,否则:叫小姐姐
    age_of_girl = 18
    if age_of_girl > 30:
        print('阿姨好')
    else:
        print("小姐姐")
    #如果女人的年龄大于等于18并且小于22并且身高大于170并且体重小于100并且是漂亮的,那么:表白,否则:阿姨好
    age_of_girl = 18
    height = 171
    weight = 95
    is_beautiful = True
    if age_of_girl >=18 and age_of_girl < 22 and height > 170 and weight < 100 and is_beautiful == True:
        print('表白')
    else:
        print('阿姨好')
    

    案例:

    如果:成绩>=90,那么:优秀  
    如果:成绩>=80且<90,那么:良好
    如果:成绩>=70且<80,那么:普通
    其他情况:垃圾
    score = input('>>: ')
    score = int(score)
    if score >= 90:
        print('优秀')
    elif score >=80 and score < 90:
        print('良好')
    elif score >=70 and score < 80:
        print('普通')
    else:
        print('垃圾')
    

    if嵌套:在表白成功的基础上:

    ​ 如果表白成功,那么:在一起

    ​ 否则: .......

    age_of_girl = 18
    height = 171
    weight = 95
    is_beautiful = True
    success = False
    if age_of_girl >= 18 and age_of_girl < 30 and height > 170 and weight < 100 and is_beautiful == True:
        if success:
            print('表白成功,在一起')
        else:
            print('什么爱情不爱情的,爱nmlgb的爱情,爱nmlg啊')
    else:
        print('阿姨好')
    

    循环结构

    ​ 1、循环结构就是重复执行某段代码

    while循环语法:(while循环称之为条件循环)

    ​ while 条件:

    ​ 代码1

    ​ 代码2

    ​ 代码3

    ​ ......

    while 的运行步骤:

    步骤1:如果条件为真,那么依次执行:代码1,代码2,代码3, .......

    步骤2:执行完毕后再次判断条件,如果条件为Ture则再次执行:代码1、代码2、代码3 .......、如果条件为False,则循环终止

    img

    while循环案例:

    #用户认证登录
    username = 'tom'
    password = '147'
    input_name = input('请输入用户名:')
    input_pwd = input('请输入密码:')
    if input_name ==username and input_pwd == password:
        print('登陆成功')
    else:
        print('输入的用户名或密码错误')
    如果用户名或密码输错三次锁定
    username = 'tom'
    password = '147'
    count = 0
    while count < 3:
        input_name = input('请输入用户名:')
        input_pwd = input('请输入密码:')
        if input_name == username and input_pwd == password:
            print('登陆成功')
        else:
            print('输入的用户名或密码错误')
            count += 1
            
    上述案例当我们输入正确时,会一直输入,如何在输入正确后结束循环:
    uaername = 'tom'
    password = '147'
    count = 0
    while count < 3:
        input_name = input('请输入用户名:')
        input_pwd = input('请输入密码:')
        if input_name == uaername and input_pwd == password:
            print('登录成功')
            break
        else:
            print('输入用户名或密码错误')
            count += 1
      拓展:如果while循环嵌套很多层,想要退出每一层循环需要在每一层循环都有一个break
    

    while + continue 的使用:

    #打印1-10,除7以外的所有数字
    number = 11
    while number > 1:
        number -= 1
        if number == 7:
            continue
        print(number)
      注:break 代表结束本层循环,后面的代码都不会再继续执行
         continue 用于结束本次循环,直接进入下一次循环
    

    while + else 的使用:

    在while循环中,可以跟else 语句,当while循环正常执行完并且中间没有被break终止,就会执行else后面的语句,所以我们可以用else来检测循环是否正常结束
    正常结束,没有被打断
    count = 1
    while count <= 5:
        count += 1
        print('Loop',count)
    else:
        print('循环正常执行完')
        print('----out of while loop----')
     没有正常结束,被打断
    count = 0
    while count <= 5:
        count += 1
        if count == 3:
            break
        print('loop',count)
    else:
        print('循环正常执行完')
    print('----out of while loop----')
    

    for循环

    案例:打印0-5

    简单版:
    for i in range(6):
        print(i)
    复杂版:
    count = 1
    while count <6 :
        print(count)
        count += 1
    

    for循环嵌套:

    #请用for循环嵌套的方式打印如下图形:
    *****
    *****
    *****
    for i in range(3):
         for j in range(5):
             print('*',end = '')
         print()
    
    #九九乘法表
    for i in range(1,10):
        for j in range(1,i+1):
            print(f"{i}x{j}={i*j}",end = ' ')
        print()
    
  • 相关阅读:
    2020牛客多校第二场A.All with Pairs hash+kmp
    2020杭电多校第三场
    2020牛客多校第六场K.K-Bag (思维?)
    2020牛客多校第六场 G.Grid Coloring 构造
    2020杭电多校第一场
    2020牛客暑期多校训练营(第三场)D.Points Construction Problem 构造
    ACM模板_axiomofchoice
    关于deque的行为分析
    Codeforces Round #665 (Div. 2) 题解 (CDEF)
    Codeforces Global Round 10 题解 (DEF)
  • 原文地址:https://www.cnblogs.com/127-2933/p/11867889.html
Copyright © 2020-2023  润新知