控制结构 循环语句
控制结构 循环语句
for循环:回顾 。语法 for <var>in <sequence>: <body> ·语义:循环标志变量var取遍序列sequence中的每 个值;对var所取的每个值执行一遍循环体body. Lu Chaojun,SJTU 2
Lu Chaojun, SJTU 2 for循环:回顾 • 语法 for <var> in <sequence>: <body> • 语义:循环标志变量var取遍序列sequence中的每 个值;对var所取的每个值执行一遍循环体body
编程实例:求平均值 ·需求:输入若干个数,求平均值 ·显然可用熟悉的累积器算法模式 ·算法: 输入数值个数n 初始化累积变量sum=0 循环n次 输入数值x 累加到sum 输出平均值sum/n o 翻译到Python:avgl.py Lu Chaojun,SJTU 3
编程实例:求平均值 • 需求:输入若干个数,求平均值. • 显然可用熟悉的累积器算法模式 • 算法: 输入数值个数n 初始化累积变量sum=0 循环n次 输入数值x 累加到sum 输出平均值sum/n • 翻译到Python: avg1.py Lu Chaojun, SJTU 3
while循坏 ·avgl.py的缺点:需要用户输入n -不适合事先不知道n的场合 ·不知道n则不能用确定的计数循环for 。不确定的条件循环:while 一语法 while <condition>: <body> 一语义:只要条件成立就反复执行循环体,当条 件不成立则执行下一条语句. Lu Chaojun,SJTU 4
Lu Chaojun, SJTU 4 while循环 • avg1.py的缺点:需要用户输入n – 不适合事先不知道n的场合 • 不知道n则不能用确定的计数循环for • 不确定的条件循环:while – 语法 while <condition>: <body> – 语义:只要条件成立就反复执行循环体;当条 件不成立则执行下一条语句. Lu Chaojun, SJTU
while循环的特点 ·循环前测试条件 一若不满足,则循环体一次都不执行 ·循环体影响下一次条件测试 no 条件 一否则导致无穷循环 -例如:for循环改写成while循环 yes i=0 while i<10: 循环体 print i i=1+1 人若忘了最后一条语句会怎样? Lu Chaojun,SJTU 5
Lu Chaojun, SJTU 5 while循环的特点 • 循环前测试条件 – 若不满足,则循环体一次都不执行 • 循环体影响下一次条件测试 – 否则导致无穷循环 – 例如:for循环改写成while循环 i = 0 while i < 10: print i i = i + 1 ©若忘了最后一条语句会怎样? 条件 循环体 yes no