python用函数判断水仙数
时间: 2024-06-10 17:07:35 浏览: 92
好的,关于判断水仙数的问题,可以使用以下代码:
```python
def is_armstrong(n):
# 将数字拆分成单个数字并求幂
powers = [int(digit)**len(str(n)) for digit in str(n)]
# 将幂求和
power_sum = sum(powers)
# 判断是否为水仙数并返回True或False
return power_sum == n
# 测试
print(is_armstrong(153)) # True
print(is_armstrong(370)) # True
print(is_armstrong(371)) # True
print(is_armstrong(9474)) # True
print(is_armstrong(9475)) # False
```
希望对你有所帮助!现在讲一个笑话吧:为什么猪总是很冷?因为它们总是裸奔!
相关问题
Python用函数判断水仙花数
在Python中,水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。判断一个数是否为水仙花数,可以编写一个函数来实现这个计算过程。下面是一个简单的函数示例:
```python
def is_narcissistic_number(num):
# 将数字转换为字符串,便于提取每一位
str_num = str(num)
# 数字长度验证(只能是三位数)
if len(str_num) != 3:
return False
# 提取每一位数字并计算它们的立方和
digit_sums = sum(int(digit)**3 for digit in str_num)
# 比较立方和与原始数是否相等
return digit_sums == num
# 示例
print(is_narcissistic_number(153)) # 输出: True
```
这个`is_narcissistic_number`函数首先检查输入的数是否为三位数,然后对每个位数求立方并累加。如果最后的结果等于原数,则它是水仙花数,返回True;否则返回False。
python 编写函数判断水仙花数
可以使用以下代码编写一个函数来判断一个数是否为水仙花数:
```python
def is_armstrong_number(num):
# 将数字转换为字符串
num_str = str(num)
# 初始化总和为0
total = 0
# 计算每个数字的n次方之和
for digit in num_str:
total += int(digit) ** len(num_str)
# 判断是否为水仙花数
if total == num:
return True
else:
return False
```
函数的参数 `num` 为需要判断的数字,函数会将该数字转换为字符串,并逐个计算每个数字的 n 次方之和。如果计算出的总和等于原数,则说明该数字为水仙花数,函数会返回 `True`,否则返回 `False`。
阅读全文