3.2.4 循环结构 课件-2021-2022学年高中信息技术浙教版(2019)必修1 数据与计算.pptx
文本预览下载声明
3.2 Python程序设计4、循环结构西绪福斯的故事循环体现了计算机的思维方式对于我们人类,循环是不自然的,谁没事儿会给自己编个循环像机器人一样生活呢?计算机最擅长的就是重复,不是吗?一个循环就是一组重复执行的语句用循环的想法来设计计算的过程Python提供了两种类型的循环语句:while循环和for循环while循环是一种条件控制循环,根据条件的真假来控制for循环是一种计数器控制循环,会重复特定的次数while循环while循环语法如下: while 条件: 循环体条件两边没有圆括号,:是while语句的组成部分循环体由语句构成,必须相对于while向右缩进(一般是向右缩进4个空格)。通过缩进,Python能够识别出循环体是隶属于while的对循环体的一次执行称为一个循环周期。while循环中,在每个循环周期前进行条件检测,如果一开始条件检测的结果为“假”,则循环体一次都不执行累加问题累加问题如何用计算机解?用一个变量total保存累加和,其初始值为0对于1、2、3、…、100中的每一个整数i,依次把它加入到total中第1次,total为0、i为1,total + i为1,结果保存回total第2次,total为1、i为2,total + i为3,结果保存回total…第100次,total为4950、i为100,total + i为5050,结果保存回total问题抽象为统一的形式:total = total + i,采用while循环重复地计算求若干个整数的和【例】编写程序,用户从键盘输入若干个整数,输出它们的和。用变量total保存累加和,其初始值为0键盘上输入的整数value,依次把它加入到total中问题抽象为统一的形式:total = total + value,采用while循环重复地计算输入的整数数量未知,要自己设计循环结束条件引入一个用来结束循环的特殊标志(哨兵),在循环执行过程中,遇到该标志,循环就结束了。标志不能是用户要累加的整数值。0不会对最后的累加和产生影响。本题用来结束循环的标志是0求若干个整数的和【例】编写程序,用户从键盘输入若干个整数,输出它们的和。通用的方法是引入用来结束循环的特殊标志EOF通常在Windows中,输入^Z(Ctrl+Z)表示EOF,在Mac OS X和Linux/Unix中,输入^D(Ctrl+D)表示EOF。Python中,输入^D(Ctrl+D)表示EOF在循环输入数据过程中,若遇到EOF,则会抛出EOFError异常,通过使用try-except异常处理机制捕获该异常,结束循环累乘问题【例】编写程序,要求用户从键盘输入一个正整数n,求n!,n!=1×2×…×n。用变量mul保存累乘积,其初始值为1对于1、2、3、…、n中的每一个整数i,依次将i和mul相乘第1次,mul为1、i为1,mul * i为1,结果保存回mul第2次,mul为1、i为2,mul * i为2,结果保存回mul…问题抽象为统一的形式:mul = mul * i,采用while循环重复地计算猜数字【例】编写程序,随机生成一个[0, 100]之间的整数(称为神秘数),提示用户连续输入数字,直至其与神秘数相等;对于用户输入的数字,会提示它比神秘数大或小,便于用户更明智地选择下一个输入的数字。for循环使用一个控制变量控制循环执行的次数,这种类型的循环被称为计数器控制的循环for循环的语法 for var in sequence: 循环体循环体由语句构成,必须相对于for向右缩进(一般是向右缩进4个空格)。通过缩进,Python能够识别出循环体是隶属于for的序列sequence中保存着一组元素,元素的个数决定了循环重复的次数,因此,for循环的循环次数是确定的。for循环依次从序列中取出元素,赋予变量var,var每取序列sequence中的一个元素值,就执行一次循环体range函数range函数的参数必须为整数range(a)等价于range(0, a),产生连续整数序列:0、1、...、a – 1range(a, b),产生连续整数序列:a、a + 1、...、b – 2、b – 1range(a, b, k),k为步长,若k为正数,产生整数序列:a、a + k、a + 2k、...,最后一个数必须小于b;若k为负数,产生整数序列:a、a + k、a + 2k、...,最后一个数必须大于b 累加和累乘问题【例】编写程序,求1+2+3+...+100的和。【例】编写程序,要求用户从键盘输入一个正整数n,求n!,n!=1×2×…×n。嵌套(多重)循环一个循环语句的循环体中包含另一个循环语句时,就称为嵌套循环嵌套循环由一个外层循环和一个或多个内层循环组成。外层循环每循环一次都会重新进入内层循环,并
显示全部