资源简介 (共23张PPT)Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque tatibus et magnis dis parturient montes, nascetur ridiculus mus.少儿编程课分水果range(n)循环变量从0开始,每一次重复执行时值都会在上一次数值基础增加1,一直持续到n-1,共n个数字。range(n,m)循环变量从n开始,每一次重复执行时值都会在上一次数值基础增加1,一直持续到m-1,共m-1个数字。无限循环while True:…if 条件:…break在不能预先明确知道循环次数的时候,只能使用while进行循环,当条件满足时使用break语句退出循环又称约数。整数a除以整数b(b≠0) 除得的商正好是整数而没有余数,我们就说a能被b整除,或b能整除a。a称为b的倍数,b称为a的因数(约数)。例如:12除以6等于2没有余数,12是6的倍数,6是12的因数。因数计算因数18的因数有哪些?对于任意一个数字而言,1和本身都是其约数从1开始遍历到数字本身,凡是可以除尽的就是约数利用列表存放因数计算因数s=[]for x in range(1,19):if 18 % x==0:s.append(x)print(s)计算倍数100以内6的倍数有哪些?一个数的倍数是无限多的,所以求倍数时一定要有一定的范围从6开始遍历到100,凡是可以被6除尽的就是6的倍数利用列表盛放100以内6的倍数计算倍数s=[]for x in range(6,101):if x % 6==0:s.append(x)print(s)完美数一个数,除了自身以外的因数之和恰好等于它本身例如6的因数除了自身之外有1、2、36 = 1+2+3找出100以内的所有完美数完美数遍历所有100以内的数字求出每一个数除自身以外的所有因数之和如果因数之和与自身相等,则是一个完美数用列表盛放所有的完美数代码实现s=[] #存放所有完美数for x in range(1,100):#1~99sum=0 #所有因数之和for y in range(1,x): #计算从1开始但不包含自身的因数if x % y ==0:sum+=y #因数求和if sum == x: #如果因数之和与原数字相等s.append(x) #添加到列表s中print(s)公因数公因数,亦称“公约数”如果一个整数同时是几个整数的因数,称这个整数为它们的“公因数”例如:6可以同时被24,36整除,则6就是24和36的公因数公因数可能有多个,最大的那一个称为最大公因数公因数遍历从1开始到较小数字的所有数字利用列表盛放可以同时整除两个数字的所有数字列表中的数字就是公因数,列表中最大的数字就是最大公因数公因数max(列表名称):求列表中的最大值m=[]for x in range(1,25):if 24%x==0 and 36%x==0:m.append(x)print(m) #公因数print(max(m)) #最大公因数穷举法计算最大公因数要求解数字m和n的最大公因数时:设定变量temp为m或n其中的任意一个值如果temp可以被m和n整除,则temp就是最大公约数如果temp不能,就让temp的值减去一,然后再次判断此时的temp是否可以被m和n整除。重复这个步骤,直到找到这样一个temp即使m和n为互质数,它们也有一个公约数1穷举法计算最大公因数m=input('m:')n=input('n:')m=int(m)n=int(n)temp=mwhile True:if m % temp==0 and n % temp ==0:breakelse:temp-=1print("最大公因数为:",temp)数学特性法计算最大公因数要求解数字m和n的最大公因数时:让m对n求余,如果可以除尽,则n就是最大公约数如果m不能整除n,则让m等于n的值,n等于每一步计算的余数。继续让m对n求余,如果可以除尽,则此时的n就是最大公约数。否则继续重复执行第二步即使m和n为互质数,它们也有一个公约数1数学特性法计算最大公因数m=input('m:')n=input('n:')m=int(m)n=int(n)while True:if m % n==0:breakelse:m,n=n,m%nprint("最大公因数为:",n)裁纸把一张135厘米长,105厘米宽的长方形纸,裁成同样大小的正方形,并且无剩余,至少能裁多少块?只要是135和105的因数,都可以裁剪出来现在题目要求的是至少能裁剪多少块,也就是要以最大的正方形来裁剪所以要以135和105的最大公约数作为正方形的边长用135或105除以边长就可以得到裁剪的个数裁纸m=135n=105while True:if m % n==0:breakelse:m,n=n,m%nprint("最大正方形的边长:",n) #最大的正方形边长print("最多可以裁剪:",135/n) #可以裁剪的个数分水果50个梨,75个橘子,100个苹果,这些水果最多可以平均分配给几个小朋友?这道题实际就是在求解50,75,100这三个数字的最大公约数分水果m=50n=75p=100temp=mwhile True:if m % temp==0 and n % temp==0 and p % temp==0:breakelse:temp-=1print("最多可分给小朋友的个数:",temp) 展开更多...... 收起↑ 资源预览