Python第十四课-好帮手函数(课件)

2024-02-27
| 25页
| 133人阅读
| 21人下载
普通

内容正文:

少儿编程课 1 好帮手函数 素数 质数又称素数。一个大于1的自然数,除了1和它自身外, 不能被其他自然数整除的数叫做质数 与质数相对应的称为合数。 3 最大公因数 公因数,亦称“公约数”。 如果一个整数同时是几个整数的因数,称这个整数为它们的“公因数”。 例如:6可以同时被24,36整除,则6就是24和36的公因数。 公因数可能有多个,最大的那一个称为最大公因数。 4 公倍数是指在两个或两个以上的自然数中,如果它们有相同的倍数,这些倍数就是它们的公倍数。例如:24即是6的倍数也是8的倍数,则24就是6和8的公倍数。公倍数可以有多个,所有公倍数中最小的,就称为最小公倍数。 最小公倍数 5 重复代码的产生 在前面求解约数、素数、倍数的时候总会有一些需求是反复出现的。 例如:我们通过分解质因数求解最小公倍数或最大公约数的时候,对数字m和数字n都要分别进行一次质因数分解,再进行求公倍数和公约数的操作。 代码示例: m = 用户输入数字 n = 用户输入数字 ms = 对m进行分解质因数 ns = 对n进行分解质因数 cd = 利用ms和ns求解最大公约数 cm = 利用ms和ns求解最小公倍数 对m,n拆解质因数的过程基本类似,但是代码要重复写上两遍 重复代码的提取 我们可以把重复的内容提取出来并取一个名字。 每当需要使用到重复内容的时候,我们只要使用名字就可以了。 def func_name( num): 进行质因数的分解过程 return 分解结果 函数的定义 刚才我们的所作所为,实际是定义了一个函数,或者也可以通俗的称为方法。 函数/方法就是告诉了计算机做一件事情的法子。 比如刚写的函数/方法就是告诉python求解质因数列表的法子。 函数的组成 定义函数使用:def 函数的名字:func_name 函数的输入:num (函数的输入也会被称为函数的参数) 函数体:进行质因数的分解过程 函数的输出:分解结果 (函数的输出也会被称为函数的返回值) 注意:所有的函数都必须有函数体,也必然会有输出。但是def,函数名称和函数的输入并不是每一个函数都有。 注意:所有的函数,无论有没有显式的写出return语句,都会有输出。而且,如果显式的写了return语句,一旦执行到return语句时,函数立即执行结束。 定义分解质因数的函数 # 利用def定义一个函数 # 函数的名字叫做get_primes # 函数的主要作用是对输入的num进行质因数分解 # 将分解的结果作为函数的输出 # 遇到return,整个函数结束 def get_primes(num): 函数体 return 质因数列表 定义分解质因数的函数 def get_primes(num): s=[] #存放num的所有质因数 k=2 while True: if num==k: s.append(k) #当num与k相等的时候,意味着循环结束了 return s #将s作为结果输出给函数的使用者,整个方法结束 elif num % k ==0: s.append(k) num=num//k else: k+=1 自定义函数的使用 当定义了函数之后,使用func_name( )的方式进行调用。 例如,要使用get_primes函数获得质因数列表,只需要get_primes(num)即可。 num为待分解的数字。 自定义函数的使用 ms=get_primes(12) print(ms) #执行结果为[2,2,3] ns=get_primes(20) print(ns) #执行结果为[2,2,5] 判别素数的函数 我们经常需要判别一个数字是不是素数。请设计一个函数,函数的输入为一个数字,如果这个数字是素数,则函数的输出为True,否则为False。 设计思路: 使用def开始定义,函数名称可以成为is_prime,函数接收一个数字作为输入。所以完整的函数定义为def is_prime(num)。 根据素数的定义构建函数体。 根据判定的结果,将True或者False作为函数的输出。 14 判别素数的函数 def is_prime(num): for x in range(2,num): if num % x==0: return False return True 15 自定义函数的使用 n=8 if is_prime(8): print("%

资源预览图

Python第十四课-好帮手函数(课件)
1
Python第十四课-好帮手函数(课件)
2
Python第十四课-好帮手函数(课件)
3
Python第十四课-好帮手函数(课件)
4
Python第十四课-好帮手函数(课件)
5
Python第十四课-好帮手函数(课件)
6
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。