利用Python来实现阿姆斯特朗数的检查实例

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

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

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

例:

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

输出2

代码解析:

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

因此,将总和初始化为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, "不是阿姆斯特朗数")

运行结果:

注:

读者可以更改源代码中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)

运行结果:

注:

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

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

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

三、总结

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

使用Python语言,能够让读者更好的理解。在实际项目中遇到的问题,难点,提供了有效的解决方案,供读者参考。
代码很简单,希望能够帮读者更好的学习。

到此这篇关于利用Python来实现阿姆斯特朗数检查的文章就介绍到这了,更多相关Python实现阿姆斯特朗数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C++和python实现阿姆斯特朗数字查找实例代码

    1.题目解释 如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数. 例如1^3 + 5^3 + 3^3 = 153. 1000以内的阿姆斯特朗数: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407 2.判断一个数是否为阿姆斯特朗数 1.先来一个简单的代码,判断一个数是否为阿姆斯特朗数: 来看看C++写的 #include <iostream> using namespace std; int main() { int n, r, su

  • 利用Python来实现阿姆斯特朗数的检查实例

    一.什么是阿姆斯特朗数? 如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数). 一个正整数称为阿姆斯特朗阶数. 例: abcd... = an + bn + cn + dn + ... 如果是3位的阿姆斯特朗数字,则每个数字的立方和等于该数字本身. 例如: 153 = 1*1*1 + 5*5*5 + 3*3*3 // 153是一个阿姆斯特朗数. 二.案例 1. 检查阿姆斯特朗数(3位数字) 例 : # 检查该数字是否为阿姆斯壮数字的Python程序 # 接受用户的输入

  • 利用python将pdf输出为txt的实例讲解

    一个礼拜前一个同学问我这个事情,由于之前在参加华为的比赛,所以赛后看了一下,据说需要用到pdfminer这个包.于是安装了一下,安装过程很简单: sudo pip install pdfminer; 中间也没有任何的报错.至于如何调用,本人也没有很好的研究过pdfminer这个库,于是开始了百度-- 官方文档:http://www.unixuser.org/~euske/python/pdfminer/index.html 完全使用python编写. (适用于2.4或更新版本) 解析,分析,并转

  • 利用python中的matplotlib打印混淆矩阵实例

    前面说过混淆矩阵是我们在处理分类问题时,很重要的指标,那么如何更好的把混淆矩阵给打印出来呢,直接做表或者是前端可视化,小编曾经就尝试过用前端(D5)做出来,然后截图,显得不那么好看.. 代码: import itertools import matplotlib.pyplot as plt import numpy as np def plot_confusion_matrix(cm, classes, normalize=False, title='Confusion matrix', cma

  • 如何利用python给微信公众号发消息实例代码

    现在通过发微信公众号信息来做消息通知和告警已经很普遍了.最常见的就是运维通过zabbix调用shell脚本给微信发消息,起到告警的作用.当要发送的信息较多,而且希望按照指定格式显示的好看一点的时候,shell处理起来,个人感觉不太方便.于是我用python重写了发微信的功能. #coding:utf-8 import urllib2 import json import sys def getMsg(): #为了避免发送中文消息报错,使用utf8方式编码 reload(sys) sys.setd

  • 利用Python实现学生信息管理系统的完整实例

    项目要求: 读完题目,首先我们要确定程序思路 我们要全部通过类去实现 也就是 我们要实现管理员.学生.讲师.课程.教师五个类 管理员类 class Administration(object): def __init__(self): self.data = self.__load() self.login_data = {} def __load(self) -> list: try: Adm = open('Administration.csv', 'r') readers = csv.Di

  • 利用Python计算质数与完全数的方法实例

    1.1 计算质数(判断输入) 首先我们要明确质数(素数)的含义: 所谓质数(素数),是它的因数只有1与它本身,例如2. 所以我们可以这样判断一个数是否为质数: # -*- coding: UTF-8 -*- # 用户输入数字 num = int(input("请输入一个数字: ")) # 质数大于 1 if num > 1: # 查看因子 for i in range(2,num): if (num % i) == 0: print(num,"不是质数") p

  • 利用Python提取PDF文本的简单方法实例

    目录 第一步,安装工具库 第二步,编写代码 第三步,执行 最后的话 你好,一般情况下,Ctrl+C 是最简单的方法,当无法 Ctrl+C 时,我们借助于 Python,以下是具体步骤: 第一步,安装工具库 1.tika — 用于从各种文件格式中进行文档类型检测和内容提取 2.wand — 基于 ctypes 的简单 ImageMagick 绑定 3.pytesseract — OCR 识别工具 创建一个虚拟环境,安装这些工具 python -m venv venv source venv/bin

  • 利用Python中unittest实现简单的单元测试实例详解

    前言 单元测试的重要性就不多说了,可恶的是Python中有太多的单元测试框架和工具,什么unittest, testtools, subunit, coverage, testrepository, nose, mox, mock, fixtures, discover,再加上setuptools, distutils等等这些,先不说如何写单元测试,光是怎么运行单元测试就有N多种方法,再因为它是测试而非功能,是很多人没兴趣触及的东西.但是作为一个优秀的程序员,不仅要写好功能代码,写好测试代码一样

  • 利用python爬取散文网的文章实例教程

    本文主要给大家介绍的是关于python爬取散文网文章的相关内容,分享出来供大家参考学习,下面一起来看看详细的介绍: 效果图如下: 配置python 2.7 bs4 requests 安装 用pip进行安装 sudo pip install bs4 sudo pip install requests 简要说明一下bs4的使用因为是爬取网页 所以就介绍find 跟find_all find跟find_all的不同在于返回的东西不同 find返回的是匹配到的第一个标签及标签里的内容 find_all返

  • 利用python求相邻数的方法示例

    前言 本文主要给大家介绍了关于利用python求相邻数的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 什么是相邻数? 比如5,相邻数为4和6,和5相差1的数,连续相差为1的一组数 需求: 遍历inputList 所有数字,取出所有数字,判断是否有相邻数, 不相邻数字 和 相邻数字 都以 "数组"形式 添加到 outputList 中, 并且 每个"数组" 里 第一位 递减 补全两位数,末位 递增 补全两位数, 每一个数不能小于0, 不能大

随机推荐