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

  • 相关阅读:
    计算机精英协会考核题 —— 第三题:斐波那契数
    pandas向表格中循环写入数据
    fiddler导出请求返回的响应数据
    notepad++下载及安装
    UVA 1647 Computer Transformation(计算机变换)(找规律)
    UVA 1612 Guess (猜名次)(贪心)
    UVA 11925 Generating Permutations(生成排列)(构造)
    UVA 1611 Crane(起重机)(贪心)
    UVA 10570 Meeting with Aliens(外星人聚会)(暴力枚举)
    【洛谷P1352】没有上司的舞会【树形DP】
  • 原文地址:https://www.cnblogs.com/hszstudypy/p/10803069.html
Copyright © 2011-2022 走看看