zoukankan      html  css  js  c++  java
  • Python 基础之循环结构for及break pass continue

    一.for 循环

    #循环 变量 迭代 都是一个意思
    #把列表里面的元素意义的拿出来就是遍历
    listvar = ["one","two","three","four","five","six"]
    #len获取列表的长度
    res = len(listvar)
    print(res)

    1.通过while 的遍历来介绍for

    例:
    i = 0
    while i < len(listvar):
    #  "0 1 2 3 4 5"
       res = listvar
       print(res)
       i+=1


    setvar = ["one","two","three","four","five","six"]
    #while 循环有它的局限性,不能够变量集合这样的数据类型
    #所以for循环应用而生 特指用来遍历的

    '''
    i = 0
    while i < len(setvar):
       res = setvar[i]
       print(res)
       i+=1

    '''

    2.for 语法

    代码解析:
    把容器类型数据里面的每一个元素,后期我们还学迭代器 生成器 range对象
    for 变量 in 可迭代的对象:
       print(变量)
    代码解析:
    把容器类型数据类目的每一个元素,依次的拿出来赋值变量i
    知道所有数据依次遍历完毕退出循环


    #遍历列表
    container = ["one","two","three","four","five","six"]
    #遍历元组
    container =("one","two","three","four","five","six")
    #遍历集合
    container = {"one","two","three","four","five","six"}
    #遍历字典
    container ={'top':'剑圣','middle':'狐狸','bottom':'德莱文'}
    #变量字符串
    container = "我爱你亲爱的菇凉,见到你我就心慌"
    for i in container:
       print(i)

    3.使用for遍历等长的二级容器

    listvar = [("王林","王思思","王美丽"),["马云","马花","马思"],["王宝","马宝","宋小宝"] ]
    #变量的解包
    a,b = 1,2
    print(a,b)
    a,b =[3,4]
    print(a,b)
    a,b = {5,6}
    print(a,b)
    print("7777777777777777777777777777")

    for a,b,c in listvar:
       """
       a,b,c ("王林","王思思","王美丽")
       a,b,c ["马云","马花","马思"]
       a,b,c ["王宝","马宝","宋小宝"]
       """
    print(a,b,c)
    listvar = [(1,2),[3,4],[5,6]]
    for a,b in listvar:
       print(a,b)

    4.使用for遍历不等长的二级容器

    listvar = [("王林","王思思"),["马花","马美丽"],["王宝","宋小宝"] ]
    for i in listvar:
       for j in i :
          print(j)

    5.range对象

    #语法:
    range(start,end,step)
       start : 开始值
       end :结束值
       step:步长
    使用方式和切片语法类似,高位end那个值取不到,取到end之前的那个值


    #1个参数的情况 range(5) => 0 1 2 3 4 默认0开始 高位5取不到,最大取到4
    print(range(5),type(res))

    res = list(range(5))
    print(res)

    for i in range(5):
       print(i)

    #2个参数的情况
    for i in range(3,10):
       print(i)

    #(33个参数的情况 2 4 6 8 10
    #正序
    for i in range(2,11,2):
       print(i)

    #倒序
    #打印9~1 9 8 7 6 5 4 3 2 1
    for i in range(9,0,-1):
       print(i)

    二.关键字:break pass continue

    1.pass 过 作用:做占位符使用

    if 5 == 5:
       pass

    i = 0
    while i < 10:
       pass #约定俗成,在循环里面什么也不行的情况下,给予友好提示
       i+=1

    2.break 终止当前循环

    (只能用于循环当中)
    '''打印1~10,如果遇到5终止循环'''
    i=1
    while i <=10:
       if i == 5:
          break
       print(i)
       i+=1


    #break 终止当前循环,外面循环一次,里面循环三次,只不过当j=3的时候,循环终止了
    i = 1
    while i<=3:
       j = 1
       while j<=3:
          if j == 3:
             break
          print(i,j)
          j+=1
       i+=1

    #1,1 1,2 2,1 2,2 3,1 3,2

    3.continue 跳过当前循环,从下一次循环开始

    例:

    #打印1~10 不打印5
    i = 1
    while i <= 10:
       if i == 5:
          i +=1 #要小心跳过循环之后,后面的代码不执行,从循环开始在执行
          continue
       print(i,end=" ") #让它打印一行并且空格
       i+=1

    例:
    #打印1~100 所有不含4的数字

    #解析:
    98 如果取出98的各位数和十位数
    8 => 98 % 10 => 8
    9 =>98 // 10 => 9

    通过地板除 // 可以获得一个数的高位
    通过取余 % 可以获取一个数的低位

    #第一个方法
    i = 1
    while i<100:
       if i // 10 == 4 or i % 10 == 4:
          i += 1
          continue
       print(i)
       i+=1

    #第二个方法
    i=1
    while i <= 100:
       num = str(i)
       if '4' in num:
          i+=1
          continue
       print(i)
       i+=1

  • 相关阅读:
    HTTP断点续传 规格严格
    Java Shutdown 规格严格
    linux 命令源码 规格严格
    JTable调整列宽 规格严格
    linux 多CPU 规格严格
    Hello can not find git path 规格严格
    Kill 规格严格
    拜拜牛人 规格严格
    Swing 规格严格
    Debugging hangs in JVM (on AIX but methodology applicable to other platforms) 规格严格
  • 原文地址:https://www.cnblogs.com/hszstudypy/p/10803069.html
Copyright © 2011-2022 走看看