水仙花数是自幂数中的一种,自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身,当这个 n=3 的时候,这个自幂数也被称为水仙花数.与水仙花数类似的还有四叶玫瑰数(n=4)、五角星数(n=5)等等
- 水仙花数
for i in range(100,1000): #列出所有3位数
s = str(i) #将数字转化为字符串类型,用于切片
bai = int(s[0]) #再将字符串类型转换为数字类型,便于运算
shi = int(s[1])
ge = int(s[2])
if int(s) == bai**3 + shi**3 + ge**3:
print('%s 是水仙花数' %i)
]$ python3 flower.py
153 是水仙花数
370 是水仙花数
371 是水仙花数
407 是水仙花数
- 四叶玫瑰数
for i in range(1000,10000): #列出所有4位数
s = str(i)
qian = int(s[0])
bai = int(s[1])
shi = int(s[2])
ge = int(s[3])
if int(s) == qian**4 + bai**4 + shi**4 + ge**4:
print('%s 是四叶玫瑰数' %i)
]$ python3 rose.py
1634 是四叶玫瑰数
8208 是四叶玫瑰数
9474 是四叶玫瑰数
- 五角星数
for i in range(10000,100000): #列出所有5位数
s = str(i)
wan = int(s[0])
qian = int(s[1])
bai = int(s[2])
shi = int(s[3])
ge = int(s[4])
if int(s) == wan**5 + qian**5 + bai**5 + shi**5 + ge**5:
print('%s 是五角星数' %i)
]$ python3 wujiaoxing.py
54748 是五角星数
92727 是五角星数
93084 是五角星数
回文
把相同的词汇或句子,前后调换位置或颠倒过来,产生首尾回环的情趣,叫做回文,也叫回环
i = input('请输入回文: ')
if i[:] == i[::-1]:
print('你输入的"%s"是回文' %i)
else:
print('你输入的"%s"不是回文' %i)
]$ python3 huiwen.py
请输入回文: 雾锁山头山锁雾
你输入的"雾锁山头山锁雾"是回文