小学课后服务 Python少儿编程 基础篇:11-分水果 (23张PPT)

资源下载
  1. 二一教育资源

小学课后服务 Python少儿编程 基础篇:11-分水果 (23张PPT)

资源简介

(共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、3
6 = 1+2+3
找出100以内的所有完美数
完美数
遍历所有100以内的数字
求出每一个数除自身以外的所有因数之和
如果因数之和与自身相等,则是一个完美数
用列表盛放所有的完美数
代码实现
s=[] #存放所有完美数
for x in range(1,100):#1~99
sum=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=m
while True:
if m % temp==0 and n % temp ==0:
break
else:
temp-=1
print("最大公因数为:",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:
break
else:
m,n=n,m%n
print("最大公因数为:",n)
裁纸
把一张135厘米长,105厘米宽的长方形纸,裁成同样大小的正方形,并且无剩余,至少能裁多少块?
只要是135和105的因数,都可以裁剪出来
现在题目要求的是至少能裁剪多少块,也就是要以最大的正方形来裁剪
所以要以135和105的最大公约数作为正方形的边长
用135或105除以边长就可以得到裁剪的个数
裁纸
m=135
n=105
while True:
if m % n==0:
break
else:
m,n=n,m%n
print("最大正方形的边长:",n) #最大的正方形边长
print("最多可以裁剪:",135/n) #可以裁剪的个数
分水果
50个梨,75个橘子,100个苹果,这些水果最多可以平均分配给几个小朋友?
这道题实际就是在求解50,75,100这三个数字的最大公约数
分水果
m=50
n=75
p=100
temp=m
while True:
if m % temp==0 and n % temp==0 and p % temp==0:
break
else:
temp-=1
print("最多可分给小朋友的个数:",temp)

展开更多......

收起↑

资源预览