CSDN问答社区的一个提问,勾起我当时写代码的烦困。
(本笔记适合熟悉一门编程语言的 coder 翻阅)
【学习的细节是欢悦的历程】
自学并不是什么神秘的东西 ,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。 —— 华罗庚
CSDN问答社区的一个提问
再写水仙花数
(勾起我当时写代码的烦困)
本文质量分:
【 96 】
本文地址:
https://blog.csdn.net/m0_57158496/article/details/132912710
CSDN质量分查询入口:http://www.csdn.net/qc
目 录
◆ 再写水仙花数
1、题目描述
回页目录
2、算法解析
算法逻辑,不分语言。由于我仅会点点python ,故不可以写C代码,只可以用Python代码阐述下算法逻辑。😋
要计算“各位数上数字的立方和”得先分出数字。分出数字,我知道的有两种途径:一、用整数不断模10取出个位再整除10,反复操作取出所有数字。二、转换成字符串,遍历或者切片都可以得到“各位数字”。
2.1 拆分整数的各数位数字
代码运行效果截屏图片
一、数字模10、整除10
def single ( num) :
''' 拆分整数各位数字 '''
singles = [ ]
while num:
singles. append( num% 10 )
num //= 10
return singles
二、转换字符串
def single ( num) :
''' 拆分整数各位数字 '''
return list ( map ( int , str ( num) ) )
回页目录
2.2 求各位数数字立方和
代码运行效果截屏图片 求得“各位数字立方和”与数字本身比较,即可判定是否“水仙花数”。
一、 for循环求立方和
def sumCube ( lis) :
''' 求拆分好的数字立方和 '''
result = 0
for i in lis:
result += i** 3
return result
二、map()函数求立方和
def sumCube ( lis) :
''' 求整数各位数字立方和 '''
return sum ( map ( lambda x: x** 3 , lis) )
回页目录
2.3 判定“水仙花数”
一、判定单个整数
代码
print ( f"\n整数{num}是水仙花数:{sumCube(single(num)) == num}" )
168
371
二、解析式判定
1~500的水仙花数:
代码
print ( f"\n100~500的水仙花数:{' '.join(map(str,[i for i in range(100, 501) if sumCube(single(i))==i]))}" )
回页目录
3、完整源码
(源码较长,点此 跳过源码)
def single ( num) :
''' 拆分整数各位数字 '''
singles = [ ]
while num:
singles. append( num% 10 )
num //= 10
return singles
def single ( num) :
''' 拆分整数各位数字 '''
return list ( map ( int , str ( num) ) )
def sumCube ( lis) :
''' 求拆分好的数字立方和 '''
result = 0
for i in lis:
result += i** 3
return result
def sumCube ( lis) :
''' 求整数各位数字立方和 '''
return sum ( map ( lambda x: x** 3 , lis) )
if __name__ == '__main__' :
num = 666
num = 168
num = 371
print ( f"\n整数:{num}" )
print ( f"\n拆分各位数字:{single(num)}" )
print ( f"\n各位数字立方和:{sumCube(single(num))}" )
print ( f"\n整数{num}是水仙花数:{sumCube(single(num)) == num}" )
print ( f"\n100~500的水仙花数:{' '.join(map(str,[i for i in range(100, 501) if sumCube(single(i))==i]))}" )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
回页目录
4、生涩的“初级”代码
回页首
上一篇: 原址删除有序数组重复数字 (给定一个有序数组,原址删除重复超过两次的整数) 下一篇:
我的HOT 博:
本次共计收集 228 篇博文笔记信息,总阅读量 39.10w,平均阅读量 1714。已生成 26 篇阅读量不小于 3000 的博文笔记索引链接。数据采集于 2023-09-11 05:52:46 完成,用时 4 分 47.95 秒。
ChatGPT国内镜像站初体验:聊天、Python代码生成等 ( 58196 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/129035387 点赞:125 踩 :0 收藏:795 打赏:0 评论:75 本篇博文笔记于 2023-02-14 23:46:33 首发,最晚于 2023-07-03 05:50:55 修改。 让QQ群昵称色变的神奇代码 ( 57819 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/122566500 点赞:24 踩 :0 收藏:83 打赏:0 评论:17 本篇博文笔记于 2022-01-18 19:15:08 首发,最晚于 2022-01-20 07:56:47 修改。 pandas 数据类型之 DataFrame ( 9078 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/124525814 点赞:6 踩 :0 收藏:31 打赏:0 评论:0 本篇博文笔记于 2022-05-01 13:20:17 首发,最晚于 2022-05-08 08:46:13 修改。 个人信息提取(字符串) ( 7101 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/124244618 点赞:1 踩 :0 收藏:13 打赏:0 评论:0 本篇博文笔记于 2022-04-18 11:07:12 首发,最晚于 2022-04-20 13:17:54 修改。 罗马数字转换器|罗马数字生成器 ( 6941 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/122592047 点赞:0 踩 :0 收藏:1 打赏:0 评论:0 本篇博文笔记于 2022-01-19 23:26:42 首发,最晚于 2022-01-21 18:37:46 修改。 Python字符串居中显示 ( 6798 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/122163023 点赞:1 踩 :0 收藏:6 打赏:0 评论:1 本篇博文笔记于 2021-12-26 23:35:29 发布。 Python列表(list)反序(降序)的7种实现方式 ( 6336 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/128271700 点赞:5 踩 :0 收藏:19 打赏:0 评论:8 本篇博文笔记于 2022-12-11 23:54:15 首发,最晚于 2023-03-20 18:13:55 修改。 斐波那契数列的递归实现和for实现 ( 5486 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/122355295 点赞:4 踩 :0 收藏:2 打赏:0 评论:8 本篇博文笔记于 2022-01-06 23:27:40 发布。 练习:字符串统计(坑:f‘string‘报错) ( 5058 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/121723096 点赞:0 踩 :0 收藏:1 打赏:0 评论:0 本篇博文笔记于 2021-12-04 22:54:29 发布。 python清屏 ( 4963 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/120762101 点赞:0 踩 :0 收藏:7 打赏:0 评论:0 本篇博文笔记于 2021-10-14 13:47:21 发布。 回车符、换行符和回车换行符 ( 4936 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/123109488 点赞:1 踩 :0 收藏:2 打赏:0 评论:0 本篇博文笔记于 2022-02-24 13:10:02 首发,最晚于 2022-02-25 20:07:40 修改。 练习:尼姆游戏(聪明版/傻瓜式•人机对战) ( 4887 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/121645399 点赞:14 踩 :0 收藏:42 打赏:0 评论:0 本篇博文笔记于 2021-11-30 23:43:17 发布。 密码强度检测器 ( 4253 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/121739694 点赞:1 踩 :0 收藏:4 打赏:0 评论:0 本篇博文笔记于 2021-12-06 09:08:25 首发,最晚于 2022-11-27 09:39:39 修改。 练习:生成100个随机正整数 ( 4190 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/122558220 点赞:1 踩 :0 收藏:6 打赏:0 评论:0 本篇博文笔记于 2022-01-18 13:31:36 首发,最晚于 2022-01-20 07:58:12 修改。 罗马数字转换器(用罗马数字构造元素的值取模实现) ( 4099 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/122608526 点赞:0 踩 :0 收藏:0 打赏:0 评论:0 本篇博文笔记于 2022-01-20 19:38:12 首发,最晚于 2022-01-21 18:32:02 修改。 我的 Python.color() (Python 色彩打印控制) ( 3982 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/123194259 点赞:2 踩 :0 收藏:7 打赏:0 评论:0 本篇博文笔记于 2022-02-28 22:46:21 首发,最晚于 2022-03-03 10:30:03 修改。 练习:班里有人和我同生日难吗?(概率probability、蒙特卡洛随机模拟法) ( 3825 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/124424935 点赞:1 踩 :0 收藏:4 打赏:0 评论:0 本篇博文笔记于 2022-04-26 12:46:25 首发,最晚于 2022-04-27 21:22:07 修改。 练习:仿真模拟福彩双色球——中500w巨奖到底有多难?跑跑代码就晓得了。 ( 3622 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/125415626 点赞:3 踩 :0 收藏:6 打赏:0 评论:3 本篇博文笔记于 2022-06-22 19:54:20 首发,最晚于 2022-06-23 22:41:33 修改。 random.sample()将在python 3.9x后续版本中被弃用 ( 3539 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/120657230 点赞:0 踩 :0 收藏:0 打赏:0 评论:0 本篇博文笔记 聊天消息敏感词屏蔽系统(字符串替换 str.replace(str1, *) ) ( 3407 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/124539589 点赞:4 踩 :0 收藏:2 打赏:0 评论:3 本篇博文笔记于 2022-05-02 13:02:39 首发,最晚于 2022-05-21 06:10:42 修改。 Linux 脚本文件第一行的特殊注释符(井号和感叹号组合)的含义 ( 3377 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/123087606 点赞:0 踩 :0 收藏:4 打赏:0 评论:3 本篇博文笔记于 2022-02-23 13:08:07 首发,最晚于 2022-04-04 23:52:38 修改。 练习:小炼二维数组 ( 3234 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/125175592 点赞:9 踩 :0 收藏:5 打赏:0 评论:9 本篇博文笔记于 2022-06-07 23:54:43 首发,最晚于 2022-06-08 00:31:49 修改。 练习:求列表(整数列表)平衡点 ( 3201 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/121737612 点赞:0 踩 :0 收藏:0 打赏:0 评论:0 本篇博文笔记 练习:银行复利计算(用 for 循环解一道初中小题) ( 3105 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/123854548 点赞:0 踩 :0 收藏:0 打赏:0 评论:0 本篇博文笔记于 2022-03-30 20:06:37 首发,最晚于 2022-04-06 18:15:16 修改。 练习:柱状图中最大矩形 ( 3089 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/122032365 点赞:0 踩 :0 收藏:0 打赏:0 评论:0 本篇博文笔记于 2021-12-19 23:47:07 发布。 练习:电话拨号键盘的字母组合(一个缩进给我惹了麻烦) ( 3009 阅读) 博文地址:https://blog.csdn.net/m0_57158496/article/details/121887995 点赞:0 踩 :0 收藏:0 打赏:0 评论:0 本篇博文笔记于 2021-12-12 15:25:58 发布。
推荐条件
阅读量突破三千
(更多热博 ,请点击蓝色文字跳转翻阅)
回页首
精品文章:
来源:老齐教室
回页首
◆ Python 入门指南 【Python 3.6.3】
好文力荐:
CSDN实用技巧博文: