用Python编程语言来实现阿姆斯特朗数的检查

Python进阶者 等级 694 0 0

##一、什么是阿姆斯特朗数?

如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。

一个正整数称为阿姆斯特朗阶数。

例:

abcd... = an + bn + cn + dn + ...

如果是3位的阿姆斯特朗数字,则每个数字的立方和等于该数字本身。 例如:

153 = 1*1*1 + 5*5*5 + 3*3*3  // 153是一个阿姆斯特朗数。

##二、案例

1. 检查阿姆斯特朗数(3位数字)

例 :

# 检查该数字是否为阿姆斯壮数字的Python程序

# 接受用户的输入
num = int(input("输入一个数字: "))

# 初始化sum
sum = 0

# 求出每个数字的立方和
temp = num
while temp > 0:
   digit = temp % 10
   sum += digit ** 3
   temp //= 10

# 显示结果
if num == sum:
   print(num,"是阿姆斯特朗数")
else:
   print(num,"不是阿姆斯特朗数")

输出1

用Python编程语言来实现阿姆斯特朗数的检查

输出2

用Python编程语言来实现阿姆斯特朗数的检查

代码解析:

要求用户输入一个数字,然后检查它是否是一个阿姆斯特朗数字,需要计算每个数字的立方和。

因此,将总和初始化为0,并使用模运算符(%)获得每个数字。将数字除以10所得的余数是该数字的最后一位。使用指数运算符获取多维数据集。

最后,将总和与原始数字进行比较,得出结论,如果相等,则是阿姆斯特朗数。

2. 检查是阿姆斯特朗的n位数字

例:

num = 1634

# 将num变量更改为string
# 并计算出长度(位数)
order = len(str(num))

# 初始化 sum
sum = 0

# 求出每个数字的立方和
temp = num
while temp > 0:
    digit = temp % 10
    sum += digit ** order
    temp //= 10

# 显示结果
if num == sum:
    print(num, "是阿姆斯特朗数")
else:
    print(num, "不是阿姆斯特朗数")

运行结果:

用Python编程语言来实现阿姆斯特朗数的检查

注:

读者可以更改源代码中num的值,然后再次运行以对其进行测试。

3. 在整数中查找阿姆斯特朗数

例:

# Python程序在整数中查找阿姆斯特朗数

lower = 100
upper = 2000

for num in range(lower, upper + 1):

    # order 个数
    order = len(str(num))

    # 初始化 sum
    sum = 0

    temp = num
    while temp > 0:
        digit = temp % 10
        sum += digit ** order
        temp //= 10

    if num == sum:
        print(num)

运行结果:

用Python编程语言来实现阿姆斯特朗数的检查

注:

在变量lower中设置了下限100,在变量upper中设置了上限2000。

使用了for循环来从变量lower到upper进行迭代。在迭代中,lower的值增加1,并检查它是否为阿姆斯特朗数。

可以更改范围并通过更改变量lower和upper进行测试。该变量lower应小于upper此程序才能正常运行。

三、总结

本文基于Python基础,介绍了什么是阿姆斯特朗数,以及如何去判断,检查阿姆斯特朗数,检查是阿姆斯特朗的n位数字,在整数中查找阿姆斯特朗数。都通过案例的分析,代码的演示,效果的展示,进行有效的分析。

使用Python语言,能够让读者更好的理解。在实际项目中遇到的问题,难点,提供了有效的解决方案,供读者参考。

代码很简单,希望能够帮读者更好的学习。

想学习更多前端、Python爬虫、大数据等计算机知识,请前往:http://pdcfighting.com/

收藏
评论区

相关推荐

用Python编程语言来实现阿姆斯特朗数的检查
一、什么是阿姆斯特朗数? 如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。 一个正整数称为阿姆斯特朗阶数。 例: abcd... an bn cn dn ... 如果是3位的阿姆斯特朗数字,则每个数字的立方和等于该数字本身。 例如: 153 111 555 333 // 153是一个阿姆斯特朗
2. 无门槛学会数据类型与输入、输出函数,滚雪球学 Python
学习一门语言应该是一件充满乐趣的事情,为什么要把它变难呢? 二、Python 基本数据类型与输入、输出函数 2.1 基本数据类型 对于任何一门语言都存在一些基本类型,Python 也不例外,只不过数据类型在 Python 中要远远比其他语言简单,基本分为以下几种。 1. 数值数据类型,常见的是整数和浮点数 2. 布尔值数据类型,就是常说的真和假
微软独家采访龟叔! 大爆料13个问题,快来看看龟叔的怎么说!
作为Python之父的龟叔,从加入微软到现在,已经有半年的时间了。微软也是在龟叔入职的半年之际,独家采访了龟叔。通过向网友广泛征集13个问题,来回答网友们的一些提问。小伙伴赶紧搬好板凳,听听龟叔怎么说吧。 1.Python是如何被创建出来的龟叔自阿姆斯特朗大学硕士毕业后,加入了CWI研究实验室,从事的正是编程语言(abc)的开发工作,但是由于缺乏语言的
盘点最重要的7个Python库
点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书导读:对于那些对Python数据生态系统不太熟悉的人士,我将简要地介绍一部分重要的库。 作者:韦斯·麦金尼(Wes McKinney)译者:徐敬来源:大数据DT(ID:hzdashuju) 01 NumPy http://numpy
Python基础2——类型转换、深浅拷贝、函数
8、类型转换、深浅拷贝 8.1 数据转换数据类型 int 整型 float浮点数 bool 布尔值 complex复数 str 字符串 list 列表 tuple 元组 dict 字典 set 集合python 类型转换int() num int("123")if num 123: print("等于123")num 123n str(num)
用Python编程语言来实现阿姆斯特朗数的检查
一、什么是阿姆斯特朗数?如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。一个正整数称为阿姆斯特朗阶数。例:abcd... an + bn + cn + dn + ...如果是3位的阿姆斯特朗数字,则每个数字的立方和等于该数字本身。 例如:153 111 + 555 + 333 // 153是一个阿姆斯特朗数。 二、案
G7或变G6+1?特朗普七国峰会箱友军开炮
今日导读 ![](https://images2018.cnblogs.com/blog/1286166/201806/1286166-20180621133828148-1208424582.png) G7 峰会刚召开完毕,德国总理默克尔发的一张照片就迅速火遍全球。照片中她身体前倾,像是在质问特朗普,而后者则双手交叉胸前,我自岿然不动,这张火药味十足的
MongoDB的数据类型
一.MongoDB 之 丰富多彩的数据类型世界 首先我们要先了解一下MongoDB中有什么样的数据类型: Object  ID :Documents 自生成的 \_id String: 字符串,必须是utf-8 Boolean:布尔值,true 或者false (这里有坑哦~在我们大Python中 True False 首字母大写) Integer
java多线程方法笔记【上】
刚开始工作,主要使用c++写服务器,不过偶尔也会用到java和python,还是学一学吧。先从java多线程开始。 java多线程的基本方法: //线程开始运行  public void start( );   //线程运行的方法run public void run( );   //线程休眠,单位毫秒 
Mongodb之数据类型
一.MongoDB的数据类型 -------------- Object  ID :Documents 自生成的 \_id String: 字符串,必须是utf-8 Boolean:布尔值,true 或者false (Python中 True False 首字母大写) Integer:整数 (Int32 Int64 你们就知道有个Int就行了,一般我
Python 一键转化代码为流程图
![](http://pb3.pstatp.com/large/pgc-image/061d1b19a3bd48a3acba8988774974c5) Graphviz是一个可以对图进行自动布局的绘图工具,由贝尔实验室开源。我们在上次 Python 快速绘制画出漂亮的系统架构图 提到的diagrams,其内部的编排逻辑就用到了这个开源工具包。 而今天我们
Python 常用单词
Python常用单词(英文好的人自动忽略) --------------------- 单词 发音 翻译 作用 print 普润特 打印 显示我们想要查看的内容 input 因普特 输入 获取用户输入的一些内容 int 印特 整型 将有引号的数字加工成没有引号的 str str 字符串 将内容加工成带引号的数据 bo
Python中循环及判断语句
循环判断条件是编程语言中一个很重要的部分,python也不例外,循环判断条件一般结合continue,return,break关键字来判断,这些关键字用法与java中基本一致 一、if判断语句 判断条件返回的结果为布尔值,在python中,布尔值为True/False,首字母必须大写,否则将出现如下异常 ![](https://oscimg.oschi
Python中的参数传递与解析
Python传递命令行参数 ============= Python的命令行参数传递和C语言类似,都会把命令行参数保存到argv的变量中。对于python而言,argv是sys模块中定义的一个list。与C语言不同的是,python中并没有定义argc,要获得参数的个数,需要使用len(sys.argv) 当用户使用'python -c "command
TikTok禁令生效前几小时,特朗普突然同意字节跳动与甲骨文交易
##### 量子位 报道 | 公众号 QbitAI TikTok美国的命运又迎来新的转机。 今天,美国总统特朗普宣布,他已批准TikTok的母公司字节跳动和甲骨文(Oracle)之间的交易,暂时避免了美国应用商店对TikTok的禁令。 ![](https://oscimg.oschina.net/oscnet/fec92b36-5dc9-43f8-8b