小学课后服务 Python少儿编程 基础篇:9-数字谜题 课件 (22张PPT)

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

小学课后服务 Python少儿编程 基础篇:9-数字谜题 课件 (22张PPT)

资源简介

(共22张PPT)
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
少儿编程课
数字谜题
字符串的遍历
for x in 字符串:

字符串[下标]
字符串1 + 字符串2
字符串 * 数字
print('hello'+'world') #helloworld
print('xyz'*3) #xyzxyzxyz
for x in 'python':
print(x) #p y t h o n
s='python'
print(s[0]) #p
print(s[1]) #y
print(s[-1]) #n
字符串的切片
切片:
[起点:终点:步长]
s='python'
print(s[1:3:1])
print(s[1:3])
print(s[:3:])
print(s[1::])
print(s[::-1])
有意思的数字
数字能表达的含义还有很多,比如经常用到的886,520,1314,666等,这里主要用到了数字的谐音。
另外我们在购买鲜花的时候,不同的支数又代表了不同的寓意,比如:10代表十全十美,33代表三生三世,99代表天长地久等。这里除了数字的谐音之外还有一些数字本身的含义,当然还有商家的销售技巧。
除了上述的例子之外,还有一些结构巧妙的数字,我们来看一看
奇妙数
奇妙数:一个整数等于其各位数字之和加上各位数字之积
例如39 = (3+9)+(3*9)
求出所有两位数奇妙数
奇妙数
思路:
遍历所有的两位数
拆解出个位和十位数字
如果两位数字等于个位+十位+个位×十位,这个数字就是奇妙数
奇妙数
for x in range(10,100):
n=str(x)
a=int(n[0]) #拆解出来的十位数字
b=int(n[1]) #拆解出来的个位数字
if x==(a+b)+(a*b):
print(x)
零巧数
四位数中百位数字为0,去掉0后的三位数字乘以9等于原四位数
例如:2025 = 225*9
求所有的零巧数?
零巧数
思路:
1、构建百位为0的四位数:使用双循环,一层控制千位数,一层控制十位和个位。
2、每一次循环利用字符串的拼接构建四位数和三位数。
3、凡是满足四位数 = 三位数 * 9就打印出来。
零巧数
zfill():返回指定长度的字符串,原字符串右对齐,前面补0
for x in range(1,10):
for y in range(100):
a=str(x)
b=str(y).zfill(2)
n=a+'0'+b
m=a+b
if int(n)==int(m)*9:
print(n)
同构数
一个数字会出现在它的二次方数右边的数
例如:数字5,5×5=25,
数字6,6×6=36,
求所有10000以内的同构数
同构数
如何取出两数相乘后结果的最后几位数呢?
要首先知道数字的位数,然后根据数字的位数去取数字相乘后的位数。
例如,对于数字5来说,因为是两位数,所以要取5 × 5计算结果的最后一位,但是对于数字25来说,因为是两位数,所以要取25 × 25计算结果的最后两位。
从计算结果中取数字时可以使用切片的方式,如果乘数是1位,可以利用下标来取结果的最后一位。
同构数
**:求次幂符号
for x in range(10000):
n=str(x**2)
m=str(x)
c=len(m) #求该数是几位数
if x==int(n[-c::]): #利用切片来取相乘结果的后几位
print(x)
自幂数
自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。
例如:数字153 = 13 + 53 +33
当n为不同的位数时,他们还有自己独特的名称:
n = 1时,这样的数字称为独身数,例如数字:0,1
n = 3时,这样的数字称为水仙花数,例如数字:153
n = 4时,这样的数字称为独四叶玫瑰数,例如数字:1634
n = 5时,这样的数字称为五角星数,例如数字:54748
n = 6时,这样的数字称为六合数,例如数字:548834
n = 7时,这样的数字称为北斗七星数,例如数字:1741725
n = 8时,这样的数字称为八仙数,例如数字:24678050
n = 9时,这样的数字称为九九重阳数,例如数字:146511208
n = 10时,这样的数字称为十全十美数,例如数字:4679307774
水仙花数
一个3位数,它的每个位上的数字的3次幂之和等于它本身
例如:数字153 = 13 + 53 +33
求所有的水仙花数
1、遍历所有的三位数。
2、将数字转为字符串后,计算每一位数字的三次方之和。
3、如果步骤2的计算结构与数字本身一致,则就是水仙花数。
水仙花数
水仙花数
for x in range(100,1000):
n=str(x) #将三位数转为字符串
sum=0
for y in n:
sum+=int(y)**3 #求和运算
if x==sum: #如果和与原先的三位数一样,则打印
print(x)
四叶玫瑰数
一个4位数,它的每个位上的数字的4次幂之和等于它本身
例如:数字1634 = 14 + 64 +34 + 44
求所有的四叶玫瑰数
四叶玫瑰数
for x in range(1000,10000):
n=str(x) #将四位数转为字符串
sum=0
for y in n:
sum+=int(y)**4 #求和运算
if x==sum: #如果和与原先的四位数一样,则打印
print(x)
求解自幂数有什么规律?
自幂数
n=input("您想获得几位数的次幂数:")
n=int(n)
a=10**(n-1)
b=10**n
for x in range(a,b):
s=str(x)
sum=0
for y in s:
sum+=int(y)**n
if x==sum:
print(x)

展开更多......

收起↑

资源预览