内容正文:
Python算法探究
——初中信息技术第二册第2单元
临淄区外国语实验学校 高琳秀
COMPUTATIONAL THINKING
第 1 页
Contents Page
目录页
第 ‹#› 页
第 1 页
今天我主要和大家来分享4个方面内容,第1个是算法概述,就是项目一探讨生活中的算法,下面三个就是程序设计中常用 的几个算法,枚举、迭代和排序算法,至于课本上的递归和分治,因为这两个是属于扩展,应该不是考试内容,而且昨天开会曹大人跟我说,他的内容比较长,所以我就没没列上去。
2
探讨生活中的算法
枚举算法
迭代算法
排序算法
01
第一节 生活中的算法
第 1 页
在我们课本上的举的例子是做菜,但实际上他那个做菜并不适合,作为一个算法设计人实例,因为做菜它是一个时间顺序的,一个线性的,他那中间的几个环节你很难进行调整,那你不可能就是先热油,然后再去切菜。我在这里用了一个旅行例子,实际上这个例子是谷歌,计算思维课程的一个范例,相对来说旅游这一个它是网状的,所以它产生的结果有很多种非常适合用来做算法设计的例子。
3
算法就是用一步接一步的方式来详细描述计算机如何将输入转化为所要求的输出的过程,或者说,算法是对计算机上执行的计算过程的具体描述。
01
第一节 生活中的算法
第 1 页
在我们课本上的举的例子是做菜,但实际上他那个做菜并不适合,作为一个算法设计人实例,因为做菜它是一个时间顺序的,一个线性的,他那中间的几个环节你很难进行调整,那你不可能就是先热油,然后再去切菜。我在这里用了一个旅行例子,实际上这个例子是谷歌,计算思维课程的一个范例,相对来说旅游这一个它是网状的,所以它产生的结果有很多种非常适合用来做算法设计的例子。
4
假设你计划要进行一次自驾游,从淄博到北京天安门,应该选择那一条路线呢?
01
第一节 生活中的算法
第 1 页
5
02
枚举算法(也称为穷举法)是我们在日常中使用到的最多的一个算法,它的核心思想就是:把所有可能的答案全部列出来,从中找最优答案。方法简单,但很实用。
第二节 枚举算法(也称为 穷举法)
第 1 页
枚举算法简单粗暴,但确实是我们解决一些问题最应该优先考虑的!因为枚举法变成实现最简单,并且得到的结果总是正确的。当然它也有缺点:运算量过大,当问题的规模变大的时候,循环的阶数越大,执行速度越慢,所以在后面我们会专门探讨一下算法的优化。
6
02
第二节 枚举算法
第 1 页
枚举算法简单粗暴,但确实是我们解决一些问题最应该优先考虑的!因为枚举法变成实现最简单,并且得到的结果总是正确的。当然它也有缺点:运算量过大,当问题的规模变大的时候,循环的阶数越大,执行速度越慢,所以在后面我们会专门探讨一下算法的优化。
7
02
第二节 枚举算法
第 1 页
枚举算法简单粗暴,但确实是我们解决一些问题最应该优先考虑的!因为枚举法变成实现最简单,并且得到的结果总是正确的。当然它也有缺点:运算量过大,当问题的规模变大的时候,循环的阶数越大,执行速度越慢,所以在后面我们会专门探讨一下算法的优化。
8
02
第二节 枚举算法
第 1 页
枚举算法简单粗暴,但确实是我们解决一些问题最应该优先考虑的!因为枚举法变成实现最简单,并且得到的结果总是正确的。当然它也有缺点:运算量过大,当问题的规模变大的时候,循环的阶数越大,执行速度越慢,所以在后面我们会专门探讨一下算法的优化。
9
02
第二节 枚举算法
第 1 页
枚举算法简单粗暴,但确实是我们解决一些问题最应该优先考虑的!因为枚举法变成实现最简单,并且得到的结果总是正确的。当然它也有缺点:运算量过大,当问题的规模变大的时候,循环的阶数越大,执行速度越慢,所以在后面我们会专门探讨一下算法的优化。
10
02
第二节 枚举算法
n=100
for i in range(1,n+1):
if “7” in str(i): # 找出所有的明"7",即含7的数
print("找到明7数字:",i)
P54
第 1 页
枚举算法简单粗暴,但确实是我们解决一些问题最应该优先考虑的!因为枚举法变成实现最简单,并且得到的结果总是正确的。当然它也有缺点:运算量过大,当问题的规模变大的时候,循环的阶数越大,执行速度越慢,所以在后面我们会专门探讨一下算法的优化。
11
02
第二节 枚举算法
n=100
for i in range(1,n+1):
if not "7" in str(i) and i%7==0:
print(“找到的数字为:”,i)
暗7实现代码
# 找出所有的暗“7”,即不含7的倍数
第 1 页
在上面的例子中,我们用到了两个变量,一个n,一个i。