• Python基础-10循环语句


    10.循环语句

        对于循环语句,Python仅提供了whilefor两个,并未像其他编程语言一样提供for...each/do...while/while...do等。

    10.1 while循环

        while在Python中的基本格式如下所示:

    while condition:
        doSomething
    

        示例代码如下所示:

    startNum,endNum=0,5
    while startNum< endNum:
        print(f"cur start number is {startNum}")
        startNum+=1
    

    输出结果如下所示:

    cur start number is 0
    cur start number is 1
    cur start number is 2
    cur start number is 3
    cur start number is 4
    

    10.2 for循环

    1.基本for循环

        在Python中for循环的基本格式如下所示:

    
    for item in [列表、元组、字典、集合、字符等]:
       doSomething
    

        示例代码如下所示:

    a={1,2,3,4,5}
    for item in a:
        print(f"current item is {item}")
    

    输出结果如下所示:

    current item is 1
    current item is 2
    current item is 3
    current item is 4
    current item is 5
    

    2.for..else循环

        for...else表示for中的循环正常完成之后,再运行else中的语句。其基本语法格式如下所示:

    for item in [列表、元组、字典、集合、字符等]:
       doSomething
    else:
       doSomething
    

        有时候我们需要判断程序循环是否正常退出,还是中途退出,可以使用下面的代码:

    a = [1, 2, 3, 4]
    flag = True
    for i in a:
        if i == 2:
            flag = False
            break
    
    if flag:
        print('yes')
    else:
        print('no')
    

        针对以上这种写法,可以使用for...else来简化写法,如下所示:

    a = [1, 2, 3, 4]
    for i in a:
        if i == 2:
            break
    else:
        print('yes')
    
    print('no')
    

        既然Python提供了两种形式的循环语句,那两者有什么区别,何时采用while循环,何时采用for循环了?

    当循环迭代次数不确定时,使用while循环,循环迭代次数确定时,使用for循环

    10.3 中断语句

        在使用循环语句时,当满足某个条件之后,循环则会自动停止,但如果想提前退出循环时,则可以使用中断语句,常用的中断语句为

    • break:中断整个循环,即满足条件时,则立即中止循环,后续循环不再继续
    • continue:中断本次循环,即满足条件后,则中止当前的循环,后续满足条件时继续循环

        示例代码如下所示:

    print("break 循环")
    for i in range(6):
        if i == 3:
            break
        print(f"current value is {i}")
    print("continue 循环")
    for i in range(6):
        if i == 3:
            continue
        print(f"current value is {i}")
    

    输出结果如下所示:

    break 循环
    current value is 0
    current value is 1
    current value is 2
    continue 循环
    current value is 0
    current value is 1
    current value is 2
    current value is 4
    current value is 5
    

    10.4 遍历容器类数据

    1.range()函数

        range()函数常用于生成一系列的数字,其基本使用格式如下所示:

    range(start,end,step)
    
    • start:开始值
    • end:结束值
    • step:为步长,可以为正值,也可以为负值,也可以省略,当省略时,默认步长为1
    • 使用range()函数生成数据,也遵循含前不含后,如range(0,3),生成的数据为0,1,2

        示例代码如下所示:

    list(range(0,10,2))
    # 输出结果
    [0, 2, 4, 6, 8]
    
    list(range(10,0,-2))
    # 输出结果
    [10, 8, 6, 4, 2]
    

    2.遍历字符串数据

        字符串可以看成是很多单个字符组成的一串数据,因为也是可以进行迭代循环的,示例如下所示:

    for i in "abcdef":
        print(f"current char is {i}")
    

    输出结果如下所示:

    current char is a
    current char is b
    current char is c
    current char is d
    current char is e
    current char is f
    

    3.遍历元组

        示例代码如下所示:

    for i in tuple(range(0,5)):
        print(f"current value is {i}")
    

    输出结果如下所示:

    current value is 0
    current value is 1
    current value is 2
    current value is 3
    current value is 4
    

    4.遍历列表

        示例代码如下所示:

    for i in list(range(0,5)):
        print(f"current value is {i}")
    

    输出结果如下所示:

    current value is 0
    current value is 1
    current value is 2
    current value is 3
    current value is 4
    

    5.遍历集合

        示例代码如下所示:

    for i in set(range(0,5)):
        print(f"current value is {i}")
    

    输出结果如下所示:

    current value is 0
    current value is 1
    current value is 2
    current value is 3
    current value is 4
    

    6.遍历字典
        示例代码如下所示:

    dic={
        "a":1,
        "b":2,
        "c":3,
        "d":4,
    }
    
    for k,v in dic.items():
        print(f"key is {k} , value is {v}")
    

    输出结果如下所示:

    key is a , value is 1
    key is b , value is 2
    key is c , value is 3
    key is d , value is 4
    

    本文地址:https://www.cnblogs.com/surpassme/p/12975408.html
    本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注:
    MyQRCode.jpg

  • 相关阅读:
    字符串排序算法总结
    子字符串匹配常用算法总结
    springboot拦截器
    springboot 双 sqlite 数据源配置
    myeclipse springboot 配置帆软报表
    保存在session中的登陆信息无故丢失的解决办法
    删除多条商品
    前台验证邮箱不能重复
    mybatis两张表关联关系映射
    蚂蚁金服支付平台代码配置
  • 原文地址:https://www.cnblogs.com/surpassme/p/12975408.html
Copyright © 2020-2023  润新知