• Python3 循环表达式


    一 While循环

    基本循环

    while 条件:
    
      执行内容  #循环体
    
      ...      #循环体           
    
      ...      #循环体
    
    # 若条件为真,执行循环体内容
    # 若条件为假,不执行循环体内容
    

    实例1(Python 3.0+):输出1--100间的所有整数

    num = 1
    while num <= 100:
        print(num)
        num += 1
    

    实例2(Python 3.0+):用户三次登陆

    true_username = "sunwk"
    true_passwd = "abc"
    count = 1
    
    while count <= 3:
    
        _username = input("please insert your name:")
        _passwd = input("please insert your passwd:")
    
        if _username == true_username and _passwd == true_passwd:
            print("welcome %s login ..." % _username)
            #此处使用了格式化输出
            break
        elif count == 3:
            print("输入次数已达上限,请稍后重试 ...")
        else:
            print("用户名密码错误,请重新输入 ...")
    
        count += 1
    
    #格式化输出实例:
    #打印字符串 %s (str)
    
    A = "sunwk"
    B = "zhubj"
    print("A=%s B=%s" %(A,B))
    
    """
    执行结果如下:
    A=sunwk B=zhubj
    """
    
    #打印整数
    
    A = 10
    B = 20
    print("A=%d B=%d" %(A,B))
    
    """
    执行结果如下:
    A=10 B=20
    """
    
    #打印浮点数
    
    A = 2.1234
    B = 3.1415
    C = 10
    D = 20
    print("A=%f B=%f C=%f D=%f" %(A,B,C,D))
    
    """
    执行结果如下:
    A=2.123400 B=3.141500 C=10.000000 D=20.000000
    默认浮点数都保留6位小数
    """
    
    #打印浮点数(指定保留小数点位数)
    
    A = 2.1254
    B = 3.1415
    print("A=%.2f B=%.3f" %(A,B))
    
    """
    执行结果如下:
    A=2.13 B=3.142
    保留小数位数是,采用四舍五入方法的方法
    """
    

    实例3(Python 3.0+):输出九九乘法表

    first = 1
    sec = 1
    
    while first <=9:
        sec = 1
        
        while sec <= first:
            print(str(sec)+"*"+str(first)+"="+ str(first*sec),end="	")
            # 	 是制表符
            sec += 1
            
        print()
        # print() 默认使用时表示换行,等同于print(end="
    ")
        
        first += 1
    
    while也可以配合else使用,语法如下
    while 条件:
    
      执行内容     #循环体
    
      ...          #循环体
    
      ...          #循环体
    
    else:            #执行else是有条件的,前提就是while正常结束后,才能执行else,如果使用break强行结束,则不执行else
    
        执行内容

    二 for循环

    基本循环

    for iterating_var in sequence:
       
           statements(s)
    
    #sequence序列可以是字符串、函数、列表等等
    

    实例1(Python 3.0+):序列为字符串

    name = "python"
    for i in name:
        print("当前字符为:" + i)
    else:
        print("Good Bye !!!")
    
    """
    执行结果如下:
    当前字符为:p
    当前字符为:y
    当前字符为:t
    当前字符为:h
    当前字符为:o
    当前字符为:n
    Good Bye !!!
    """
    

     实例2(Python 3.0+):序列为列表

    name = ["sunwk","zhubj","shawj","tangs"]
    for i in name:
        print("当前名字为:" + i)
    else:
        print("Good Bye !!!")
    
    """
    执行结果如下:
    当前名字为:sunwk
    当前名字为:zhubj
    当前名字为:shawj
    当前名字为:tangs
    Good Bye !!!
    """
    

    实例3(Python 3.0+):序列为函数-输出1到10之间的偶数

    for i in range(1,11):
        if  i % 2 == 0:
            print(i)
    
    """
    执行结果如下:
    2
    4
    6
    8
    10
    Good Bye !!!
    """
    

    此处我们引用了range()函数,简单了解一下range()

    #语法:
    
    range(start, stop, step)
    
    """
    参数说明:
    start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
    end: 计数到 end 结束,但不包括 end。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
    step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
    """
    
    #例如:
    
    range(5)
    
    """
    输出结果如下:
    [0,1,2,3,4]
    python2.x中输出的是一个列表,但是在Python3.x中输出的是一个对象
    """
    
    a = range(5)
    print(type(a)) # 查看a的类型,执行结果为:<class 'range'>,不是一个列表
    b = list(a)   #使用list函数返回列表
    print(b)
    
    """
    执行结果如下:
    
    <class 'range'>
    
    [0, 1, 2, 3, 4]
    """
    

    for循环也可以配置else使用,语法于while类似。  

    三 break语句

    break是跳出当前循环

     实例1(Python 3.0+):

    num1 = 1
    num2 = 1
    
    while  num1 <= 3:
        print("num1值为"+str(num1)+":"+"执行父循环")
    
        while True:
            if num2 == 2:
                print("num2值为"+str(num2)+":"+"跳出子循环")
                break   #break跳出第二层while循环,上层循环继续执行,总结就是break只会跳出当前的循环,而不是跳出全局循环。
            else:
                print("num2值为"+str(num2)+":"+"执行子循环")
                num2 += 1
        num1 += 1
    else:
        print("Good Bye !!! ")
    
    """
    执行结果如下:
    num1值为1:执行父循环
    num2值为1:执行子循环
    num2值为2:跳出子循环
    num1值为2:执行父循环
    num2值为2:跳出子循环
    num1值为3:执行父循环
    num2值为2:跳出子循环
    Good Bye !!! 
    """
    

    通过上面的实例,得到的结论是break只能跳出子循环,但是如果我要同时跳出父循环怎么办呢,通过反复的代码试验,我发现可以设置一个break_flag来实现,以下是我的实例,可能还不是太理想,肯定还有其它方法的,但一想到我可是初学的小白啊,一下子就释然了.....

    num1 = 1
    num2 = 1
    
    while  num1 <= 3:
        print("num1值为"+str(num1)+":"+"执行父循环")
    
        while True:
            if num2 == 2:
                print("num2值为"+str(num2)+":"+"跳出子循环")
                break_flag = True
                break   #break跳出第二层while循环,上层循环继续执行,总结就是break只会跳出当前的循环,而不是跳出全局循环。
            else:
                print("num2值为"+str(num2)+":"+"执行子循环")
                num2 += 1
        if break_flag:
            print("子循环结束了,父循环跳出")
            break
        num1 += 1
    else:
        print("Good Bye !!! ")
    
    """
    执行结果如下:
    num1值为1:执行父循环
    num2值为1:执行子循环
    num2值为2:跳出子循环
    子循环结束了,父循环跳出
    """

    四 continue语句

    continue是结束本次循环,执行下次循环

    实例1(Python 3.0+):输出1-5的所有整数,跳过3

    num = 0
    
    while num < 5:
        num += 1
        if  num == 3:
            continue
        print(num)
    else:
        print("Good Bye !!!")
    
    """
    执行结果如下:
    1
    2
    4
    5
    Good Bye !!!
    """
  • 相关阅读:
    深入浅出C#结构体——封装以太网心跳包的结构为例
    视频在线率统计——基于驱动总线设备的领域驱动设计方法落地
    在net Core3.1上基于winform实现依赖注入实例
    类与结构体性能对比测试——以封装网络心跳包为例
    基于Modbus三种CRC16校验方法的性能对比
    Git在公司内部的使用规范
    基于abp框架的数据库种子数据初始化
    VUE中登录密码显示与隐藏的最简设计——基于iview
    abp框架运行——前后端分离(基于VUE)
    基于HTTPS的接口测试——nginx配置SSL
  • 原文地址:https://www.cnblogs.com/lvcm/p/8278154.html
Copyright © 2020-2023  润新知