• 2、python中的三大流程控制



    三大流程控制:顺序、分支、循环
    在这里插入图片描述

    顺序流程控制

    一步一步,按照语句依次执行

    分支流程控制

    单分支:
    if 条件:
       满足条件的内容
    
    双分支:
    if 条件:
       满足条件的内容
    else:
       不满足条件的内容
    
    三元运算符:
    result = 满足条件的内容 if 条件 else 不满足条件的内容
    
    多分支语句:
    if 条件:
       满足条件的内容
    elif 条件:
       满足条件的内容
    else:
       不满足条件的内容
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    单分支

    # 需求: 如果年龄大于18岁,就输出成年,否则就输出未成年
    # 注意: 冒号和缩进是python语法规范
    # input()接收的是字符串,如果要接收整型数,需要使用int()类型转换
    age = int(input("请输入年龄:"))
    if age > 18:
        print("成年")
    else:
        print("未成年")
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    运行结果:
    在这里插入图片描述

    #使用三元运算符同样能实现上述需求
    age = int(input("请输入年龄:"))
    print("成年" if age > 18 else "未成年")
    
    • 1
    • 2
    • 3

    ctrl + d 是pycharm中快速赋值一行的快捷键

    多分支语句:

    # 注意: 冒号和缩进是python语法规范
    # input()接收的是字符串,如果要接收整型数,需要使用int()类型转换
    score = int(input("请输入成绩:"))
    if 100>=score>=90:
        print("等级是A")
    elif 90>score>=80:
        print("等级是B")
    elif 89
        print("输入成绩无效")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    运行结果:
    在这里插入图片描述

    小练习:用户登录检测

    # 用户输入用户名和密码,判断用户名和密码是否正确
    #如果正确,输出登录成功
    #否则,输出登录失败
    name=input("请输入用户名:")
    passwd=input("请输入密码:")
    
    if name=="admin" and passwd=="admin":
        print(f"用户{name}登录成功")
    else:
        print("用户%s登录失败" %(name))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    运行截图:
    在这里插入图片描述

    循环

    while循环

    #需求:输出1到10之间的数
    count = 0
    while count <= 10:
        print(count)
        count += 1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    # 不断提示输入用户名和密码,直至admin用户登录成功。并且记录登录次数
    count=1  #记录登录次数
    while True:
        print(f"用户admin第{count}次登录")
        count+=1
        name = input("请输入用户名:")
        passwd = input("请输入密码:")
        if name == "admin" and passwd == "admin":
            print(f"用户{name}登录成功")
            exit()  #退出整个程序
        else:
            print("用户%s登录失败" % (name))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    运行截图:
    在这里插入图片描述

    # 输出0到100之间所有的偶数
    print ("0到100之间所有的偶数有:")
    num = 0
    while num <= 100:
        print(num)
        num += 2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    for循环

    # 输出0到10之间的数
    # range(start,end)表示输出的是start到end-1之间的数
    for num in range(0,11):
        print(num)
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    range的用法:
    range(start, end) #指start到end-1之间的数
    range(num) #指0到num-1之间的数
    range(start,end,step) #指从start开始,步长为step,结尾为end-1之间的数

    # 输出0到100之间的偶数
    # range(start,end)表示输出的是start到end-1之间的数
    for num in range(0,101,2):
        print(num)
    
    
    # 输出0到100之间的奇数
    for num in range(1,101,2):
        print(num)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    #for循环遍历字符串
    string = "hello"
    for item in string:
        print(item)
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    跳出循环语句

    • break用于终止循环
    • continue跳出当前循环的剩余语句,然后继续下一轮循环
    • exit() 表示退出整个程序
    num = 0
    while num <= 10:
        num +=1
        print(num)
        if num == 6:
            break #遇到break,循环就结束了
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    运行截图:
    在这里插入图片描述

    num = 0
    while num <= 10:
        num +=1
        if num == 6:
            continue # 遇到continue,跳出本次循环,开始下一次循环
        print(num)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    运行截图:
    在这里插入图片描述

    小练习-打印九九乘法表

    #实现九九乘法表
    # 如何让print不换行呢?
    for i in range(1,10):
        for j in range(1,i+1):
            print("%d*%d=%d" %(j,i,j*i),end=' ')
        print()  #打印换行符
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    运行截图:
    在这里插入图片描述

    练习-使用for循环实现彩色棒棒糖

    import turtle
    colors1=[(255,g,0) for g in range(0,256)] #从红色到黄色
    colors2=[(r,255,0) for r in range(255,-1,-1)] #从黄色到绿色
    colors3=[(0,255,b) for b in range(0,256)] #从绿色到青色
    colors4=[(0,g,255) for g in range(255,-1,-1)] #从青色到蓝色
    colors5=[(r,0,255) for r in range(0,256)] #从蓝色到紫色
    colors6=[(255,0,g) for g in range(255,-1,-1)] #从紫色到红色
    colors=colors1+colors2+colors3+colors4+colors5+colors6
    n=len(colors)
    #根据turtle生成彩虹糖
    turtle.pensize(20) #画笔大小
    turtle.speed(0) #画图的速度,0表示最快
    turtle.colormode(255) #设置turtle指定颜色的模式,255表示rgb模式
    #循环1000次不断画画,同时不断调整圆的半径
    for i in range(1000):
        color = colors[i % n] #如果颜色超出给定范围,和总颜色个数取余,从头开始获取颜色
        turtle.color(color)
        turtle.circle(i // 3, 5)
    turtle.done()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    在这里插入图片描述

    练习-防止暴力破解的用户登录系统

    #root用户登录只有三次机会,如果超过三次机会,报错提示
    for i in range(1,4):
        print(f"用户root第{i}次登录")
        name = input("请输入用户名:")
        passwd = input("请输入密码:")
        if name == "root" and passwd == "root":
            print("用户root登录成功")
            break
        elif i == 3:
            print("登录失败,尝试次数已经超过三次")
        else:
            print("用户root登录失败")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    运行截图:
    在这里插入图片描述

    补充:while和for都可以和else结合使用

    """
    while 条件表达式
         满足条件执行的内容
    else:
         不满足条件执行的内容
          
          
    for i in range(4):
        循环时执行的语句
    else:
        没有for可以遍历的值时,执行的语句 
    """
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 相关阅读:
    pve关闭windows虚拟机慢
    文件包含漏洞
    TCP服务器使用多路复用
    正点原子开拓者FPGA,程序固化下载到板子里面
    网易低代码引擎Tango正式开源
    Java入门第二季
    达梦错误码信息-PRO*C 错误码汇编
    基于Springboot+mybatis+mysql+html教育培训中心教学系统
    本地新建项目如何推到码云上去
    电子纸制造业新趋势
  • 原文地址:https://blog.csdn.net/qq_43604376/article/details/127707856