水仙花数
练习题目
水仙花数
定义:
(限定于三位数)
每位上的数的三次幂之和等于这个数本身。
点击查看“水仙花数”百科词条
代码运行效果
代码
(如果从语句注释不能清楚作用,请评论区留言指教和探讨。🤝)
#!/sur/bin/nve python
# coding: utf-8
# coding: utf-8
daffodil_s = '''
水仙花数
定义:
(限定于三位数)
每位上的数的三次幂之和等于这个数本身
'''
def find_daffodil(nums):
daffodils = [] #初始 daffodil 列表为空。
for daffodil in nums: #遍历数组
sum = 0 #初始 daffodil 数位三次幂和变量。
for num in map(int, list(str(daffodil))):
#用 map 把三位数解析成数位列表并遍历求和。
sum += num**3
if sum == daffodil: #收集 daffodil number
。
daffodils.append(daffodil)
return daffodils #返回 daffodil number 列表。
#调用 find_daffodil 查找 100 ~ 999 中的 daffodil number 并打印输出。
print(f'\n\n\n{" 查找水仙花数 ":_^44}\
\n\n{"":.^50}\
\n{daffodil_s}\
\n{"."*50}\
\n\n\n{"100 ~ 999 中的“水仙花数:"}{find_daffodil(range(100, 1000))}\
\n\n\n{" The end ":_^50}\n')
也可以用解析成数位立方列表求和。
#也可以用解析成数位立方列表求和。
def find_daffodil(nums):
daffodils = [] #初始 daffodil 列表为空。
for daffodil in nums: #遍历数组
sum_num = sum(num**3 for num in map(int, list(str(daffodil))))
#用 map 把三位数解析成数位列表, 再解析成立方列表,直接用 sum 求和。 if sum_num == daffodil: #收集 daffodil num
ber 。
daffodils.append(daffodil)
return daffodils #返回 daffodil number 列表。
我的HOT博:
- “快乐数”判断(1172阅读)
- 罗马数字转换器(构造元素取模)(1585阅读)
- 罗马数字(转换器|罗生成器)(2186阅读)
- Hot:神奇代码让QQ群昵称色变(4925阅读)
- 斐波那契数列(递归| for )(2176阅读)
- 柱状图中最大矩形(1609阅读)
- 排序数组元素的重复起止(1205阅读)
- 电话拨号键盘字母组合(1230阅读)
- 密码强度检测器(1678阅读)
- 求列表平衡点(1706阅读)
- 字符串统计(2416阅读)
- 尼姆游戏(代码优化版)(831阅读)
- Hot:尼姆游戏(聪明版首发)(3257阅读)
推荐条件
点阅破千
相关文章:
上一篇: 代码彩打喜报
下一篇: 练习:完数
[ Python 入门指南] 【Python 3.6.3】(https://www.runoob.com/manual/pythontutorial3/docs/html/)
好文力荐:靠谱程序员的好习惯
![老齐漫画头像](https://i-blog.csdnimg.cn/blog_migrate/8cbf2c45d8b57205b31ef4963b3b9854.jpeg)
精品文章:
- OPP三大特性:封装中的property
- 通过内置对象理解python'
- 正则表达式
- python中“*”的作用
- Python 完全自学手册
- 海象运算符
- Python中的 `!=`与`is not`不同
- 学习编程的正确方法
来源:老齐教室