美文网首页Python
Python技术分享—循环控制

Python技术分享—循环控制

作者: 有一个女汉子 | 来源:发表于2019-06-27 15:18 被阅读13次

    循环控制

    循环控制,就是让程序循环运行某一段代码直到满足退出的条件,才退出循环。

    Python技术分享—循环控制

    Python用关键字for和while来进行循环控制,但是没有其它语言的do...while语句(在Java和PHP中都有do while)。

    while循环

    while循环语句的控制结构图如下所示:

    Python技术分享—循环控制
     内部代码块
    接下来看一个具体的案例,求1-100之间的总和
    n = 100
    sum = 0
    counter = 1
    while counter <= n:
     sum = sum + counter
     counter += 1
    print("1 到 %d 之和为: %d" % (n,sum))
    -----------------------------------------
    通常在循环条件中,会设置退出条件,防止程序死循环。
    while True:
     s = input("what's you name:")
     print("you name is %s"%s)
    print("bye")
    这个程序永远也不会打印bye。
    

    while的else从句:

    while循环还可以增加一个else从句。当while循环正常执行完毕,会执行else语句。注意else与while平级的缩进方式!

    i = 0
    # i = 11
    while i < number:
     print(i)
     i += 1
    else:
     print("执行完毕!")
    

    如果是被break等机制强制提前终止的循环,不会执行else语句。

    i = 0
    while i < number:
     print(i)
     i += 1
     if i == 7:
     break 
    else:
     print("执行完毕!")
    

    for循环

    虽然与while一样都是循环的关键字,但for循环通常用来遍历可迭代的对象,如一个列表或者一个字典。其一般格式如下:

     <statements>
    for ... in ....:属于固定套路
    sum = 0
    for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
     sum = sum + x
    print(sum)
    

    循环的嵌套

    # 这是一个判断质数的程序
    # 一个数,如果只有1和它本身两个因数,这样的数叫做质数(或素数)
    for n in range(2, 100):
     for x in range(2, n):
     if n % x == 0:
     print(n, '等于', x, '*', n//x)
     break
     else:
     # 循环中没有找到元素
     print(n, ' 是质数')
     # print(n,end = ', ')
    

    break语句

    break只能用于循环体内。其效果是直接结束并退出当前循环,剩下的未循环的工作全部被忽略和取消。
    Python的break只能退出一层循环,对于多层嵌套循环,不能全部退出。
    for letter in 'Hello world': # 第一个实例
     if letter == 'r':
     break
     print ('当前字母为 :', letter)
    -------------------------------------------- 
    var = 10 # 第二个实例
    while var > 0: 
     print ('当前变量值为 :', var)
     var -= 1
     if var == 5:
     break
    

    continue语句

    for letter in 'Hello world': # 第一个实例
     if letter == 'o': # 字母为 o 时跳过输出
     continue
     print ('当前字母 :', letter)
     -------------------------------------------------------
    var = 10 # 第二个实例
    while var > 0: 
     var -= 1
     if var == 5: # 变量为 5 时跳过输出
     continue
     print ('当前变量值 :', var)
    

    刚才前面跟大家说过,python中的break只能跳出当前层的循环,无法全部跳出。那如果有这么需求怎么办?

    flag = False # 用于控制外层循环的标志
    for i in range(10):
     if flag: # 当flag被内层循环设置为True的时候,跳出外层循环
     break
     for j in range(10):
     if j==7:
     flag = True
     break
     print(i,j)
    

    (写在最后,由于以后每天晚上九点半之后会更新Python基础的知识点,记得来看哦!)

    此文来源于微博和今日头条:逻二妞,转载请注明出处,谢谢

    推荐阅读

    改变世界到语言—python,看完才知道从事python凭什么高薪!(2019年最新三大方向资源)

    这本书教你读懂大脑中的神经元,并一个月内掌握Python基础,经典

    相关文章

      网友评论

        本文标题:Python技术分享—循环控制

        本文链接:https://www.haomeiwen.com/subject/kxlrcctx.html