内容正文:
少儿编程课
1
分水果
range(n)
循环变量从0开始,每一次重复执行时值都会在上一次数值基础增加1,一直持续到n-1,共n个数字。
range(n,m)
循环变量从n开始,每一次重复执行时值都会在上一次数值基础增加1,一直持续到m-1,共m-1个数字。
3
无限循环
while True:
…
if 条件:
…
break
在不能预先明确知道循环次数的时候,只能使用while进行循环,当条件满足时使用break语句退出循环
4
又称约数。
整数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以内的所有完美数
10
完美数
遍历所有100以内的数字
求出每一个数除自身以外的所有因数之和
如果因数之和与自身相等,则是一个完美数
用列表盛放所有的完美数
11
代码实现
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)
12
公因数
公因数,亦称“公约数”
如果一个整数同时是几个整数的因数,称这个整数为它们的“公因数”
例如: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)
wh