• Python3学习笔记-循环


    Python的循环有两种,一种是for...in循环,另一种是while循环

    一、for...in循环

           for...in循环,依次把list或tuple中的每个元素迭代出来。必须有一个可迭代的对象,才能循环

    peoples=['小明','小红','小黄']
    for people in peoples:
        print (people)

          执行上面一段代码,会依次打印peopels中的每一个元素,打印结果为:

    小明
    小红
    小黄
    

       for...in循环,可以根据循环条件,循环打印结果

    for i in range(3):
        print ('Hello world!')

     执行上面一段代码,会将 Hello world! 连续打印三次,打印结果为:

    Hello world!
    Hello world!
    Hello world!

    所以for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句

    如果想求1-10的和,则可以:

    sum=0
    for i in range(11):
        sum=sum+i
    print (sum)

    二、while循环

          while循环:while循环之前,先判断一次,如果满足条件的话,再循环

          while循环必须有一个计数器

    count = 0    # 计数器
    while count <3:   # while 条件
        print ('Hello world!')   #缩进块是循环体
        count = count +1

        循环的时候是在重复执行循环体里面东西,所以执行上一段代码,结果为:

    Hello world!
    Hello world!
    Hello world!

    在循环中,经常会看到break和continue

    • break:在循环里面遇到break,立即结束循环,不管循环有没有循环完
    • continue:在循环里面遇到continue 那么就结束本次循环,继续下一次循环
    • else:循环正常结束之后做的操作
    # while 循环
    count = 0
    while count < 5:  # 如果count小于5的话,就执行下面的代码,如果不小于5就走else
        print(count)
        if count == 3:
            break  # 如果count等于3的话,就结束循环
        count += 1  # 这个意思是每次循环完,count的值就加一,如果不加的话,条件就一直为真了,就死循环了,一直不停的循环
    else:  # 这个else是可以不写的,意思就是说,如果条件不满足了去干嘛
        print('条件没满足')

    while 循环对应一个else的时候,循环在正常结束之后才会执行它,像上面提前结束则不会执行else后面的内容;下面是正常结束的例子,执行后结果就是 循环结束

    count = 0 #计数器
    while count<4:
        if count == 6:
            print ('22222')
            break
        count+=1
    else:
        print ('循环结束!')

    同样,for循环也可以对应一个else语句,在执行循环之后执行,如下:

    # for 循环
    names = ['marry', 'lily', 'lilei']
    for name in names:
        if name == 'lily':
            continue  # 如果名字等于lily的话,就不执行continue下面的代码了,再循环下一次
        print(name)
    else:  # for也有个else,不过这个一般没人写它,意思是如果正常循环完了去做什么
        print('over')
  • 相关阅读:
    [读史思考] 田单火牛阵是真实的吗?
    Alink漫谈(十二) :在线学习算法FTRL 之 整体设计
    Alink漫谈(十一) :线性回归 之 L-BFGS优化
    [笔记整理] 一维搜索
    Alink漫谈(十) :线性回归实现 之 数据预处理
    [记录点滴]编译安装luarocks、luacheck、luautf8
    [源码解析]Oozie来龙去脉之内部执行
    [记录点滴]OpenResty 支持http v2的问题
    Alink漫谈(九) :特征工程 之 特征哈希/标准化缩放
    [记录点滴]Ionic编译过程的研究
  • 原文地址:https://www.cnblogs.com/fenggf/p/8760677.html
Copyright © 2020-2023  润新知