用python编写程序,检测用户输入的数字是否为阿姆斯特朗数
时间: 2023-05-26 07:07:27 浏览: 95
Python中判断输入是否为数字的实现代码
5星 · 资源好评率100%
阿姆斯特朗数是指一个n位数(n≥3),它的每个数位上的数字的n次幂之和等于它本身。
例如,153是一个3位阿姆斯特朗数,因为1³ + 5³ + 3³ = 153。
下面是一个用Python实现的检测阿姆斯特朗数的程序:
```python
n = input("请输入一个数字:")
l = len(n)
sum = 0
for i in range(l):
sum += int(n[i])**l
if sum == int(n):
print(n + "是阿姆斯特朗数")
else:
print(n + "不是阿姆斯特朗数")
```
解释一下这个程序的思路:
1. 首先输入一个数字n。
2. 计算这个数字的位数l。
3. 通过一个for循环,将每个数位上的数字的l次幂加起来,累加到sum变量中。
4. 判断sum是否等于n,如果相等,说明n是阿姆斯特朗数,否则不是。
例如,如果输入153,程序会先计算出这是一个3位数字,然后将1³ + 5³ + 3³加起来得到153,最后判断153是否等于原来的输入,确定它是一个阿姆斯特朗数。
阅读全文