资源简介 (共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') #helloworldprint('xyz'*3) #xyzxyzxyzfor x in 'python':print(x) #p y t h o ns='python'print(s[0]) #pprint(s[1]) #yprint(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():返回指定长度的字符串,原字符串右对齐,前面补0for x in range(1,10):for y in range(100):a=str(x)b=str(y).zfill(2)n=a+'0'+bm=a+bif 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,1n = 3时,这样的数字称为水仙花数,例如数字:153n = 4时,这样的数字称为独四叶玫瑰数,例如数字:1634n = 5时,这样的数字称为五角星数,例如数字:54748n = 6时,这样的数字称为六合数,例如数字:548834n = 7时,这样的数字称为北斗七星数,例如数字:1741725n = 8时,这样的数字称为八仙数,例如数字:24678050n = 9时,这样的数字称为九九重阳数,例如数字:146511208n = 10时,这样的数字称为十全十美数,例如数字:4679307774水仙花数一个3位数,它的每个位上的数字的3次幂之和等于它本身例如:数字153 = 13 + 53 +33求所有的水仙花数1、遍历所有的三位数。2、将数字转为字符串后,计算每一位数字的三次方之和。3、如果步骤2的计算结构与数字本身一致,则就是水仙花数。水仙花数水仙花数for x in range(100,1000):n=str(x) #将三位数转为字符串sum=0for 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=0for y in n:sum+=int(y)**4 #求和运算if x==sum: #如果和与原先的四位数一样,则打印print(x)求解自幂数有什么规律?自幂数n=input("您想获得几位数的次幂数:")n=int(n)a=10**(n-1)b=10**nfor x in range(a,b):s=str(x)sum=0for y in s:sum+=int(y)**nif x==sum:print(x) 展开更多...... 收起↑ 资源预览