内容正文:
少儿编程课
1
数字谜题
字符串的遍历
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
3
字符串的切片
切片:
[起点:终点:步长]
s='python'
print(s[1:3:1])
print(s[1:3])
print(s[:3:])
print(s[1::])
print(s[::-1])
4
有意思的数字
数字能表达的含义还有很多,比如经常用到的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以内的同构数
12
同构数
如何取出两数相乘后结果的最后几位数呢?
要首先知道数字的位数,然后根据数字的位数去取数字相乘后的位数。
例如,对于数字5来说,因为是两位数,所以要取5 × 5计算结果的最后一位,但是对于数字25来说,因为是两位数,所以要取25 × 25计算结果的最后两位。
从计算结果中取数字时可以使用切片的方式,如果乘数是1位,可以利用下标来取结果的最后一位。
13
同构数
**:求次幂符号
for x in range(10000):
n=str(x**2)
m=str(x)
c=len(m) #求该数是几位数
if x==int(n[-c::]): #利用切片来取相乘结果的后几位
print(x)
14
自幂数
自幂数是指一个 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时,这样的数字称为十全十美数,