• Python的循环


    简介

    while

    在给定的判断条件为 true 时执行循环体,否则退出循环体。

    语法

    while 判断条件(condition):
        执行语句(statements)……

    实例

    # 实例1
    a,b = 0,1 while a<10: print(a,end=',') a,b = b,a+b # 解析 ''' 第一次循环: a=0,a<10,print(0) a=b,b=a+b 所以a=1,b=1 第二次循环: a=1,a<10,print(1) a=b,b=a+b 所以a=1,b=2 第三次循环: a=1,a<10,print(1) a=b,b=a+b 所以a=2,b=3 第四次循环: a=2,a<10,print(2) a=b,b=a+b 所以a=3,b=5 第五次循环: a=3,a<10,print(3) a=b,b=a+b 所以a=5,b=8 第六次循环: a=5,a<10,print(5) a=b,b=a+b 所以a=8,b=13 第七次循环: a=8,a<10,print(8) a=b,b=a+b 所以a=13,b=21 第八次循环: a=13,a>10,不执行下方语句,结束循环 '''
    # >>> 0,1,1,2,3,5,8,
    # 实例2
    numbers = [12,37,5,42,8,3] even = [] # 空列表 odd = [] # 空列表 while len(numbers) > 0:# 判断numbers中的长度是否大于0 num = numbers.pop()# 将numbers中的值随机删除一个,并将这个删除的值赋值给num if(num % 2 == 0):#如果被删除的这个值取余2等于0 even.append(num)#说明这个值是偶数,将其写到列表even中 print('even:%s' %(even))#输出even列表 else: odd.append(num)#如果被删除的这个值取余2不等于0,说明这个值是偶数,将其写到列表odd中 print('odd:%s' %(odd))##输出even列表

    for

    语法

    Python 的 for 语句与 C 或 java 中的不同。Python 的 for 语句不迭代算术递增数值(如 java),或是给予用户定义迭代步骤和暂停条件的能力(如 C),而是迭代列表或字符串等任意序列,元素的迭代顺序与在序列中出现的顺序一致

    for iterating_var in sequence:#可以直接指定一个循环数值,或者一个列表等
       statements(s)

    实例

    range()内置函数

    print(range(10)) # 单独打印range的值,会展示这个的循环区间,输出结果:range(0, 10)
    print(sum(range(10))) #输出相加的值0+1+2+3+4+5+6+7+8+9
    print(list(range(10))) # range生成列表
     
    for i in range(5,10):# 输出5-10的值(前包后不包)
        print(i)
    
    for i in range(1,10,3):# 输出1-10的值(前包后不包),步长为3.结果:1,4,7
        print(i)
    
    for i in range(-10,-200,-30):# 输出-10~-200的值,步长为-30。结果:-10,-40,-70,-100,-130,-160,-190,
        print(i,end=',')

    range() 和 len() 组合在一起,可以按索引迭代序列:

    #实例1
    words = ['cat', 'window', 'defenestrate']
    for w in words:# words中有几个数值,就循环几次
        print(w, len(w))# 输出每次循环取到的值,和每个值的长度
    
    #实例2
    for w in['cat', 'window', 'defenestrate']:# 还可以写成这种写法
        print(w, len(w))
    
    #实例3
    for w in range(len(words)):# 或者写成这种方式
       print(w, words[w])

    三元表达式

    语法

    实例

    result = [str(i).zfill(2) for i in range(1,20) if i<8]
    print(result)result = [str(i).zfill(2) for i in range(1,20) if i<8]
    print(result)
    
    # 等同于
    result2 = []
    for i in range(1,20):
        if i < 8:
            j = str(i).zfill(2)
            result2.append(j)
    print(result2)

    嵌套循环

    语法

    实例

    循环控制语句

    break

    在语句块执行过程中终止循环,并且跳出整个循环。

    for letter in 'Python':  # 第一个实例
        if letter == 'h':
            break
        print('当前字母 :', letter)
    
    
    var = 10  # 第二个实例
    while var > 0:
        print('当前变量值 :', var)
        var = var - 1
        if var == 5:  # 当变量 var 等于 5 时退出循环
            break
    
    n = 1 # 第三个实例
    while 1:  # 循环条件为1必定成立
        print('n:%s'%(n)) # 输出1~10
        n += 1
        if n > 10:  # 当i大于10时跳出循环
            break # 输出1,2,4,5,6,7,8,9,10

    continue

    跳过当前循环的剩余语句,然后继续进行下一轮循环。

    i = 1
    while i < 10:
        i += 1# 意思是i=i+1
        if i % 2 > 0:
            continue # 符合上边的条件时,跳出本次循环,否则执行print
        print('i:%s'%(i))  # 输出双数2、4、6、8、10

    pass

    pass是空语句,是为了保持程序结构的完整性。

    pass不做任何事情,一般用做占位语句。

    pass语句不执行任何操作。语法上需要一个语句,但程序不实际执行任何动作时,可以使用该语句。

    while True:# 让程序一直执行
       pass 
    学而时习之不亦说乎!
  • 相关阅读:
    parent.relativePath' points at wrong local POM
    'cmd' 不是内部或外部命令,也不是可运行的程序 或批处理文件.
    解析xml文件的几种技术与Dom4j与sax之间的对比
    html/js/css资源
    HTML编码规范
    CSS编码规范
    PCB标识说明
    sama5d3 环境检测 gpio--yk测试
    sama5d3 环境检测 gpio--yx测试
    ad7888 linux driver
  • 原文地址:https://www.cnblogs.com/wxinyu/p/14752638.html
Copyright © 2020-2023  润新知