Python实现阿姆斯特朗
时间: 2024-03-28 09:34:30 浏览: 44
阿姆斯特朗数(Armstrong number),也被称为自恋数、自幂数或水仙花数,是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个阿姆斯特朗数,因为1^3 + 5^3 + 3^3 = 153。
下面是Python实现阿姆斯特朗数的代码:
```python
def is_armstrong_number(num):
# 将数字转换为字符串,以便逐位处理
str_num = str(num)
n = len(str_num)
sum = 0
# 计算每个位上数字的n次幂之和
for digit in str_num:
sum += int(digit) ** n
# 判断是否为阿姆斯特朗数
if sum == num:
return True
else:
return False
# 测试代码
num = int(input("请输入一个数字:"))
if is_armstrong_number(num):
print(num, "是阿姆斯特朗数")
else:
print(num, "不是阿姆斯特朗数")
```
相关问题
阿姆斯特朗数python
阿姆斯特朗数(Armstrong number)也叫自恋数、水仙花数或变性数,是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如:1^3+5^3+3^3=153就是一个3位的阿姆斯特朗数。
下面是Python代码实现:
```python
def is_armstrong(n):
# 获取数字位数
num_len = len(str(n))
# 计算每个数字的n次方之和
sum = 0
for i in str(n):
sum += int(i) ** num_len
# 判断是否为阿姆斯特朗数
if sum == n:
return True
else:
return False
```
调用该函数,可以判断一个数是否为阿姆斯特朗数:
```python
print(is_armstrong(153)) # 输出 True
print(is_armstrong(370)) # 输出 True
print(is_armstrong(9474)) # 输出 True
print(is_armstrong(9475)) # 输出 False
```
上述代码中,is_armstrong(n)函数接收一个整数n作为参数,返回True或False,表示n是否为阿姆斯特朗数。函数内部先获取n的位数,然后计算每个数字的n次方之和,最后判断是否等于n。
python定义函数判断阿姆斯特朗
好的,我来回答你的问题。判断一个数是否是阿姆斯特朗数,可以通过定义一个函数来实现。阿姆斯特朗数指一个 n 位数 (n>=3),它的每个数位上的数字的 n 次幂之和等于它本身。比如说,153 就是一个阿姆斯特朗数,因为 1^3 + 5^3 + 3^3 = 153。
下面是一个 Python 的函数实现,可以用来判断一个数是否是阿姆斯特朗数:
```python
def is_armstrong(number):
# 转换为字符串并计算位数
num_str = str(number)
n = len(num_str)
# 计算每个数位上的数字的 n 次幂之和
sum = 0
for digit in num_str:
sum += int(digit) ** n
# 判断是否为阿姆斯特朗数
return sum == number
```
你可以调用这个函数,传入一个整数作为参数,它会返回 True 或 False,表示该数是否是阿姆斯特朗数。
阅读全文