资源简介 第三章 算法的程序实现 1、用计算机编程解决的一般过程 2、Python语言程序设计 3、简单的算法及其程序设计 人生苦短 我用python 学习目标: 循环结构的算法设计 生活中的循环 软件开发中循环的使用场景 跟媳妇承认错误,说一万遍“媳妇儿,我错了!” print “媳妇儿,我错了!” print “媳妇儿,我错了!” print “媳妇儿,我错了!” …(还有997遍)… 使用循环,一句话搞定 i = 0 while i <10000: print (“媳妇儿,我错了!”) i += 1 一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成 循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环 循环结构 循环结构回顾 for 循环语句格式 for 循环变量 in 列表: 语句或与剧组 for循环 for 循环作为编程语言中最强力的特征之一 Python可以使用for语句循环遍历整个序列的值 for循环所做的概括为一句话: 于… 其中的每一个元素,做…事情 for循环 在for循环中,循环变量遍历了队列中的每一个值,循环的语句体为每个值执行一次。 为了更深入了解for循环,试着思考下面这个问题,如何打印出这样的结果? 1 + 1 = 2 2 + 1 = 3 … 10 + 1 = 11 内置函数-------range() for循环 11 for循环-range()函数 for循环-求平均数 平均数计算程序的IPO如下: 输入:待输入数字个数,数字 处理:平均数算法 输出:平均数 设计方案: 输入数字的个数n 将sum初始化为0 循环n次: 输入数字x 将x加入sum中 将sum/n作为平均数输出出来 for循环-代码 以下是程序的执行结果: for与if相结合 如何实现这样一个程序:歌曲列表中有三首歌“Holy Diver,Thunderstruck,Rebel Rebel”,当播放到每首时,分别显示歌手名字“Dio,AC/CD,Divid Bowie”? while循环 语法:while语句 while语句中是布尔表达式 循环体是一条或多条语句 当条件为真时,循环体重复执行 当条件为假时,循环终止 在while循环中,条件总是在循环顶部被判断,即在循环体执行之前,这种结构又被称为前测循环。 只要…条件成立,就一直做,,, while循环 下面是使用while循环完成从0到10的求和打印平均值的例子: x = 45 y = 80 while x < 50 and y < 100: x = x + 1 y = y + 1 print(x, y) WHILE循环 如果循环体忘记累加i,条件判断一直为真,循环体将一直执行,这就是所谓的死循环。 这时通常使用+c来终止一个程序 练习 1.输出程序运行结果 sum=0 for i in range(1,11): sum=sum+i print(sum) i=1,sum=0 i<=10 sum=sum+i i++ 输出sum的值 N 练习题 19 练习题 编程,解决猴子吃桃问题。 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时,只剩下一个桃子了。求第一天共摘多少个桃子。(迭代法) 课堂练习 1. 有如下程序段: s = 0 for i in range(1, 11, 2): s = s + i print(s) 该程序段运行后,S的值为 。 25 课堂练习 2.有如下程序段: k = 0 for i in range(1, 21): if i % 3 == 0 or i % 5 == 0: k = k + 1 print(k) 该程序段运行后,k的值为 。 9 课堂练习 3.以下程序的功能是:计算表达式1×2×3×4×5×6×7×8×9×10的值,并将计算结果存入变量sum中,请完成下面划线处程序填空。 sum = ① for i in range(2, 11): sum = ② print(sum) 划线处①的程序是 ,划线处②的程序是 。 1 sum*i 课堂练习 4.有如下程序段: f0 = 1 f1 = 1 for i in range(3, 6): r = f0 + f1 f0 = f1 f1 = r print(r) 该程序段运行后,r的值为 。 5 课堂练习 5. 所谓“水仙花数”是指一个三位数,其各位数字的三次方之和等于该数本身。例如:153=1^3+3^3+5^3,故153是水仙花数,下面的程序用于输出100到999之间的水仙花数,完成划线处程序填空。 for i in range(100, 1000): b = i // 100 s = ① g = i % 10 if : print(i) 划线处①的程序是 ,划线处②的程序是 。 i // 10% 10 i == b**3 + s**3 + g**3 Thanks 展开更多...... 收起↑ 资源预览