这是【Python 百练成钢】系列文章的第 002 篇,计划完成 100 道练习题。

本文环境:python3.8

计算自幂数

什么是自幂数?

自幂数:也叫超完全数字不变数、自恋数、阿姆斯特朗数(Armstrong number),

特征:一个 n 位数(n≥1 ),它的每个位上的数字的 n 次幂之和等于它本身
(例如:13+53+33=1531^3 + 5^3+ 3^3 = 15313+53+33=153)
即我们上一篇文章中的水仙花数也属于自幂数的一种。

根据位数不同,又对应有不同的自幂数名字(这还颇有点金庸武侠中给不同武功起名的意思呢):
一位自幂数:独身数
两位自幂数:没有
三位自幂数:水仙花数
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
七位自幂数:北斗七星数
八位自幂数:八仙数
九位自幂数:九九重阳数
十位自幂数:十全十美数

计算任意自幂数

需求描述:
定义函数,根据入参自动计算对应范围内的所有自幂数。

实现方法如下:

def get_power_nums(start: int = 100, end: int = 1000):"""根据数据长度判断幂次,计算任意范围的自幂数:param start: 起始值,包含:param end: 结束值,不包含:return:"""if type(start) is int and type(end) is int and 0 <= start < end:my_range = (x for x in range(start, end))for num in my_range:sum = 0p = len(str(num))  # 幂a = [int(s) for s in str(num)]  # 数for i in a:sum += i ** p  # 和if num == sum:yield numelif type(start) is not int or type(end) is not int:raise Exception('参数类型错误')elif start < 0 or start > end:raise Exception('参数超出范围')

调用函数:

# 数字范围可随意输入,均可正常得到所有自幂数
n = get_power_nums(0, 100000)
print([i for i in n])

Python百练成钢002-计算自幂数相关推荐

  1. 【Python 百练成钢】高精度加法、阶乘计算、矩阵幂运算、矩阵面积交

    文章目录 前言

  2. 【Python 百练成钢】快速上手并查集

    文章目录

  3. 【Python 百练成钢】报时助手、成绩分析、购物清单、字符串对比、FJ的字符串

    文章目录 前言 报时助手

  4. 【Python 百练成钢】前缀和

    文章目录 前言

  5. 【Python 百练成钢】灯光模拟

    问题描述

  6. 百练OJ:4003:十六进制转十进制(python三行代码实现)

    题目链接:百练OJ:4003 描述 将十六进制数转换成十进制数 输入 第一行有一个整数T,表示共有T组数据 接下来T行,每一行为一个16进制无符号正整数,位数不超过8位,数中的a-f均为大写字母,数前 ...

  7. Python入门100题之002:个税计算

    题目: •企业发放的奖金根据利润提成. •利润(I)低于或等于10万元时,奖金可提10%: •利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%: • ...

  8. python练手经典100例-Python 的练手项目有哪些值得推荐?

    首先两点建议:最好不要写太应用的程序练手,如果你发现你写程序的大部分时间都在查库手册(或者类似的事情),那就是大家所说的"搬砖"了:要思考什么更像是知识,什么只是经验,还是那句老话 ...

  9. 【百练】护林员盖房子

    护林员盖房子 百练 2019信科研究生上机测试 A 总时间限制: 1000ms 内存限制: 65536kB 描述 在一片保护林中,护林员想要盖一座房子来居住,但他不能砍伐任何树木.  现在请你帮他计算 ...

最新文章

  1. CCS Font 知识整理总结
  2. mysql为查询结果字段赋默认值
  3. Oracle Rman 命令详解(List report backup configure)
  4. Unity(四)IocContainer 封装类库
  5. Java定时任务调度工具详解之Timer篇
  6. UE3 内存使用和分析
  7. 虚拟资源拳王公社:什么是虚拟资源自动化?为什么虚拟产品可以自动化赚,虚拟资源自动化有什么
  8. proxool,好东西
  9. linux ssh免密码登录设置
  10. PDF阅读器如何实现免费论文查重
  11. Redfish 模型工具:Redfish Mockup Creator 和 Redfish Mockup Server
  12. CRT使用(二)CRT软件修改超时时间
  13. NAT ALG PPTP实现简要分析
  14. [计算机毕业设计]数字水印算法
  15. bzoj1050: [HAOI2006]旅行comf
  16. 天地图实现标注用户当前坐标位置
  17. c语言怎么判断一个目录下面的文件是否为隐藏文件,怎么能显示出隐藏文件?...
  18. 在nvidia的JETSON XACIER NX上面跑通yolov3
  19. C++.继承——虚继承
  20. html5金花,HTML5 2D Graphic 实现五朵金花版型设计

热门文章

  1. 计算机固态硬盘装系统,SSD装系统不求人 9分钟U盘快速装win7
  2. 浅谈LCD液晶屏和LED屏,它们有什么不同之处
  3. 华为 Python:初级能力测评
  4. jquery $.fn 是什么意思
  5. 常见字读音(粤语)---(3)
  6. AndroidStudio模拟器全面屏皮肤
  7. aruco字典如DICT_4X4_50含义
  8. html5 figure和figcaption
  9. 第三人称计算机获奖感言,个人获奖感言50字第三人称
  10. 无尽对决怎么修改服务器地区,无尽对决怎么更改账号 | 手游网游页游攻略大全...