• 程序流程控制2 for循环


    for循环是python中的一个通用的序列迭代器,可以遍历序列对象中的所有对象。
    1、for循环基本格式
    for循环基本格式如下。
    for var in object:
        循环体语句块
    else:
        语句块
     
     
     
    4
     
     
     
     
     
    1
    for var in object:
    2
        循环体语句块
    3
    else
    4
        语句块
     
     
    else部分可以省略。for执行时,依次将可迭代对象object中的值赋给变量var。var每赋值一次,则执行一次循环体语句块。循环执行结束后时,如果有else部分,则执行对应的语句块。else部分只在正产结束循环时执行。如果用break跳出循环,则不会执行else部分。
    例如;
    for x in (1,2,3,(4,5)):
        print(x)
     
    1
    2
    3
    (4,5)
    
    for x in "book":
        print(x)
    
    b
    o
    o
    k
    
    for x in (1,2,3):
        print(x*2)
    else:
        print("loop over")
        
    2
    4
    5
    loop over
     
     
     
    25
     
     
     
     
     
    1
    for x in (1,2,3,(4,5))
    2
        print(x)
    3
    
    
    4
    1
    5
    2
    6
    3
    7
    (4,5)
    8
    
    
    9
    for x in "book":
    10
        print(x)
    11
    
    
    12
    b
    13
    o
    14
    o
    15
    k
    16
    
    
    17
    for x in (1,2,3):
    18
        print(x*2)
    19
    else:
    20
        print("loop over")
    21
        
    22
    2
    23
    4
    24
    5
    25
    loop over
     
     
    在迭代字典对象时,变量一次迭代字典的各个键。例如:
    d={'name':'john','age':25}
    for x in d:
        print(x,d[x])
        
    age 25
    name john
     
     
     
    6
     
     
    1
    d={'name':'john','age':25}
    2
    for x in d:
    3
        print(x,d[x])
    4
        
     
     
    5
    age 25
    6
    name john
     
     
    可以使用range() 函数来生成包含连续多整数的range对象,其基本格式如下:
    range(end)
    range(start,end[,step])
     
     
    x
     
     
     
    1
    range(end)
    2
    range(start,end[,step])
     
     
    指定end参数时,生成整数范围为0~end-1.指定start时,生成整数范围为start~end-1,间隔为step。step默认为1。
    例如:
    for x in range(3):
        print(x)
    0
    1
    2
    
    for x in range(-2,2):
        print(x)
    -2
    -1
    0
    1
    
    for x in range(-2,2,2):
        print(x)
     -2
    0
     
     
    x
     
     
     
    1
    for x in range(3):
    2
        print(x)
    3
    0
    4
    1
    5
    2
    6
    
    
    7
    for x in range(-2,2):
    8
        print(x)
    9
    -2
    10
    -1
    11
    0
    12
    1
    13
    
    
    14
    for x in range(-2,2,2):
    15
        print(x)
    16
     -2
    17
    0
     
     
     
    2、多个变量迭代
    可在for循环中用多个变量来迭代序列对象。例如:
    for (a,b) in ((1,2),(3,4),(5,6)):
        print(a,b)
    1 2
    3 4
    5 6
     
     
     
    1
     
     
     
    1
    for (a,b) in ((1,2),(3,4),(5,6)):
    2
        print(a,b)
    3
    1 2
    4
    3 4
     
     
    5
    5 6
     
     
    与赋值语句类似,可以用"*" 给变量赋值给一个列表。例如:
    for(a,*b) in ((1,2,'abc'),(3,4,5)):
        print(a,b)
    1[2,'abc']
    3[4,5]
     
     
    1
     
     
     
    1
    for(a,*b) in ((1,2,'abc'),(3,4,5)):
    2
        print(a,b)
    3
    1[2,'abc']
     
     
    4
    3[4,5]
     
     
     
    3、break和continue
    break语句用于跳出当前循环,即提前结束循环(包括跳过else)。Continue语句则用于跳过循环体剩余语句,回到循环开头开始下一次迭代。
            例如,下面的代码用for循环找出100~999范围内的前10个回文数字---3位数中个位和百位相同的数字为回文数字。
    a=[]
    n=()
    for x in range(100,999):
        s=str(x)
        if s[0]!=s[-1]:
            continue
        a.append(x)
        n+=1
        if n==10:
            break
    else:
        print('loop over')
    print(a)
     
     
    x
     
     
    1
    a=[]
    2
    n=()
    3
    for x in range(100,999):
    4
        s=str(x)
    5
        if s[0]!=s[-1]:
    6
            continue
    7
        a.append(x)
    8
        n+=1
    9
        if n==10:
    10
            break
    11
    else:
    12
        print('loop over')
    13
    print(a)
     
     
     
    4、嵌套使用for循环
    python允许嵌套使用for循环,即在for循环内部使用for循环。例如,下面的代码输出100以内的素数(素数指除了1和他本身之外不能被其他数整除的数)。
    print(2,3,end=" ")         #2、3是素数,直接输出,end=" " 使后续输出不换行。
    for x in range(4,100):
        for n in range(2,x):
            if x%n==0:
                break
        else:
            print(x,end=" ")
    else:
        print("over")
     
     
    1
     
     
     
     
    1
    print(2,3,end=" ")         #2、3是素数,直接输出,end=" " 使后续输出不换行。
    2
    for x in range(4,100):
    3
        for n in range(2,x):
    4
            if x%n==0:
    5
                break
    6
        else:
    7
            print(x,end=" ")
    8
    else:
    9
        print("over")
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">





    每个人都可以站在大地上,分享这个世界,并触摸天空;
  • 相关阅读:
    实用小工具 -- 国家地区IP段范围查询工具
    JAVA学习笔记--ClassLoader
    Apache HttpClient之fluent API的使用
    JAVA学习笔记--初探hash与map
    JAVA学习笔记--赋值(“=”)
    JAVA学习笔记--方法中的参数调用是引用调用or值调用
    修改host,访问指定服务器
    VueJS基础框架代码介绍
    Mac下通过npm安装webpack 、vuejs,以及引入jquery、bootstrap等(初稿)
    SSH配置与修改
  • 原文地址:https://www.cnblogs.com/one99/p/8097623.html
Copyright © 2020-2023  润新知