• python 的控制流程


    一、Python之for循环

    for循环在Python语言的流程控制中是非常重要的,在编程中有很多场景需要使用到for循环。举个例子,当我们需要把字符串中的每一个字符打印出来的时候,我们怎么实现呢?
    我们当然可以使用之前学习的指定位置的方式让每个字符打印出来。

    s = 'ABCD'
    print(s[0])
    print(s[1])
    print(s[2])
    print(s[3])
    

    但是,这是字符串s比较短的情况下可以实现的,当s拥有成千上万个字符的时候,难道我们要为此书写上万行代码吗?这个时候for循环就可以派上用场了。

    s = 'ABCD'
    for ch in s:
        print(ch) # 注意缩进
    

    在上述代码中,ch是在for循环中定义的,意思是把字符串s中的每一个元素依次赋值给ch,然后再把ch打印出来,直到打印出字符串s的最后一个字符为止。

    二、Python之while循环

    和 for 循环不同的另一种循环是 while 循环,while循环可以继续进行下去的条件更加简单,只需要判断while循环的条件是否为True即可,当条件为True时,即继续运行下去。
    比如:

    while True:
        print(1)
    

      

    在上述代码中,由于while的条件一直为True,所以这个代码将会无限的输出1,同学们不要轻易尝试。
    我们可以把while循环的条件设置得复杂一些,在运行一定次数后,条件可以自动变为False从而跳出while循环。
    比如计算1~100的和。

    num = 1
    sum = 0
    while num <= 100:
        sum = sum + num # 注意缩进
        num = num + 1 # 注意缩进
    print(sum) # ==> 5050
    

      

    在上述代码中,while的判断条件是num <= 100,当num小于或者等于100时,循环会继续下去,但当num > 100时,将跳出循环;因为在while循环里面num不断加1,所以num最终会大于100,因此while循环不会无限进行下去。

    三、Python之continue继续循环

    使用continue,我们可以控制循环继续下去,并跳过continue后面的逻辑,比如,对于字符串s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',假如希望输出字符串s中第10个以后的字符,而不是所有字符,这个时候, 我们可以使用continue跳过前面的9个字符。

    s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    num = 1
    for ch in s:
        if num < 10:
            num = num + 1
            continue # 当num < 10时,跳过后续循环代码,继续下一次循环
        print(ch)
        num = num + 1
    

    请综合使用while和continue,计算0~1000以内,所有偶数的和。

    i = 1
    a = []
    while True:
        if i > 1000:
            break
        i = i + 1
        if (i % 2) != 0:
            continue
        a.append(i)
    print (a)
    

      

    四、Python之break跳出循环

    用 for 循环或者 while 循环时,如果要在循环体内直接退出循环,可以使用 break 语句。
    比如在前面的无限循环里面,只要在恰当的时机,我们使用break跳出循环,也可以求出1~100的和。

    num = 1
    sum = 0
    while True:
        if num > 100:
            break
        sum = sum + num
        num = num + 1
    print(sum)
    

    同样的,对于字符串s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',假如希望输出s的前20个字符,而不是所有字符,我们也可以使用break。

    s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    num = 1
    for ch in s:
        if num > 20:
            break
        print(ch)
        num = num + 1
    

    请综合使用while True和break,计算0~1000以内,所有偶数的和。

    i = 1
    a = []
    sum = 0
    while True:
        if i > 1000:
            break
        if i % 2 == 0:
            a.append(i)
        i = i + 1
    for num in a:
        sum = sum +num
    print (sum)
    

    五、Python之嵌套循环

    就像多层if-else嵌套一样,python的循环也支持嵌套。
    我们使用两层嵌套循环输出字符串'ABC'中每个字符和字符串'123'每个字符的排列。

    s1 = 'ABC'
    s2 = '123'
    for x in s1:
        for y in s2:
            print(x + y)
    

      

    在上述代码中,对于外层循环,外层每循环1次,内层就会循环3次,因此,我们将会得到如下结果:

    A1
    A2
    A3
    B1
    B2
    B3
    C1
    C2
    C3
    

    字符串s1='ABC',字符串s2='123',字符串s3='xyz',请输出s1、s2、s3中所有字符的排列。

    s1 = 'ABC'
    
    s2 = '12345'
    
    for x in s1:
        for y in s2:
            print(x+y)
    

      

    原文:https://www.imooc.com/code/21967

  • 相关阅读:
    windows CMD大全
    算法导论(一):渐进记号
    数据结构之树
    Python读取文件内容与存储
    Python绘图的颜色设置
    Python中多个列表与字典的合并方法
    Pandas之Dataframe叠加,排序,统计,重新设置索引
    数据挖掘——聚类算法(一)
    WPF学习————制作时钟
    Opencv Sharp 基于灰度模板的多目标匹配
  • 原文地址:https://www.cnblogs.com/sucretan2010/p/14779240.html
Copyright © 2020-2023  润新知