美文网首页
程序的组织结构(二)

程序的组织结构(二)

作者: 沐沐_妉杉 | 来源:发表于2021-03-03 22:30 被阅读0次

    循环结构

    循环结构,顾名思义,就是反复做同一件事情。

    循环结构可分为while循环for-in循环。

    一、while循环
    (一)语法结构
    while 条件表达式:
           条件执行体(循环体)
    
    (二)流程图示

    补充:选择结构if与循环结构while的区别

    • if是判断一次,条件为True,执行一次

    • while是判断N+1次,条件为True,执行N次

    (三)程序图示

    1. if图示:

    2. while图示:

    (四)while循环的执行流程

    四步循环法:

    1. 初始化变量

    2. 条件判断

    3. 条件执行体(循环体)

    4. 改变变量

    总结:

    初始化的变量条件判断的变量以及改变的变量为同一个

    示例一:计算0到50之间数的累加和

    sum=0#用于存储累加和
    #1.初始化变量为0
    a=0
    #2.条件判断
    while a<51:#或a<=50
    #条件执行体(循环体)
         sum+=a
    #改变变量
         a+=1
    print('和为',sum)
    

    程序图示:

    示例二:计算1到100之间偶数之和

    sum=0#用于存储偶数和
    #1.初始化变量
    a=1
    #2.条件判断
    while a<=100:#或a<101
    #3.条件执行体(循环体)
        if a%2==0:
           sum+=a
    #改变变量
        a+=1
    print('和为',sum)
    

    补充:

    如果我们计算奇数和,可以对条件执行体进行如下修改,其余内容不变:

    if a%2: #奇数和2取余,结果为1,其布尔值为True
    

    将条件执行体改变,变回求偶数和,修改如下:

    if not bool(a%2): #偶数和2取余,结果为0,其布尔值为False,取反则为True
    
    二、for-in循环
    (一)、中文语义
    • 在可迭代对象中,依次取出一个值,赋给自定义变量

    • in表达从(字符串、序列等)中依次取值,又称为遍历

    • for-in遍历的对象必须为可迭代对象

    • 简称 for 循环

    (二)语法结构
    for 自定义的变量 in 可迭代对象:
         循环体
    
    (三)流程图示
    (四)程序图示
    1. 在字符串love中依次取值,赋值给idol
    字符串
    1. 在序列中依次取值,赋值给L
    序列

    注:循环体内不需要访问自定义变量,可以将自定义变量替代为下划线(用作循环次数)

    下划线
    (五)练习

    1. 计算1到100之间的偶数和

    sum=o#用于存储偶数和
    for do in range(1,101):
        if do%2==0:
        sum+=do
    print('1到100间偶数和为:',sum)
    

    2. 输出100到999之间的水仙花数

    水仙花数:个位数的三次方加十位数的三次方加百位数的三次方,和为该数

    三、流程控制语句break
    (一)中文语义

    用于结束循环结构,通常与分支结构if一起使用。

    当满足某一条件时,跳出该循环,也称为非正常结束循环

    (二)流程图示
    (三)程序图示

    示例:ATM机取款,有三次输入密码的机会

    如果我们第一次输入正确,那么下面的两次循环就不会执行。

    程序图示:

    1. for循环示例:

    (1)密码正确情况:

    符合条件,输出“密码正确”,退出for循环。

    (2)密码错误情况:

    条件不符合,输出密码错误,继续执行,共执行三次。

    2. while循环示例:

    (1)密码正确情况:

    (2)密码错误情况:

    四、流程控制语句continue
    (一)中文语义

    用于结束当前循环,进入下一次循环,通常与分支结构中的if一起使用。

    (二)流程图示
    (三)程序图示

    要求:输出1到50之间所有5的倍数

    实现途径一:

    实现途径二:使用continue

    五、else语句
    (一)使用情况
    (二)程序图示

    ATM即取款:最多三次输入密码机会

    for-in循环图示:

    1. 密码输入正确:
    1. 密码三次输入错误:

    while循环图示:

    1. 密码输入正确:
    1. 密码输入错误:
    六、嵌套循环
    (一)中文语义

    循环结构中又嵌套了另外的完整的循环结构,其中,内层循环作为外层循环的循环执行体。

    (二)流程图示
    (三)实例

    练习一:输出三行四列的矩形

    练习二:输出边长为九行的直角三角形

    练习三:输出九九乘法表:

    七、二层循环中的break和continue
    (一)中文语义

    二层循环中的break和continue用于控制本层循环

    如果在内层循环遇到break,退出内层循环,不会影响外层循环的进行

    如果在内层循环遇到continue,继续执行内层循环,对外层循环没有影响

    (二)流程图示
    (三)程序图示

    1. break:

    第一次执行时:

    i=0j=1j%2不等于0,输出j,即1

    i=0j=2j%2等于0,break,退出内循环

    第二次执行时:

    i=1j=1j%2不等于0,输出j,即1

    i=1j=2,j%2等于0,break,退出内循环

    以此类推,内层循环只执行一次,但不会影响外层循环。

    2. continue:

    第一次执行时:

    i=0,j=1,j%2不等于0,输出j,即1

    i=0,j=2,j%2等于0,continue

    i=0,j=3,j%2不等于0,输出j,即3

    i=0,j=4,j%2等于0,continue

    i=0,j=5,j%2不等于0,输出j,即5
    ......

    以此类推,执行五次。

    视频来源:哔哩哔哩马士兵Python教学

    相关文章

      网友评论

          本文标题:程序的组织结构(二)

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