编写一个函数判断一个数是否为水仙花数
时间: 2023-06-12 11:04:20 浏览: 57
水仙花数指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。例如:1^3 + 5^3 + 3^3 = 153。
以下是判断一个数是否为水仙花数的 Python 代码实现:
```python
def isNarcissisticNumber(num):
# 将数字转换为字符串,以便于逐位提取数字
num_str = str(num)
# 计算数字的位数
n = len(num_str)
# 初始化和为0
total = 0
# 逐位提取数字,计算每位数字的n次方之和
for digit in num_str:
total += int(digit) ** n
# 判断数字是否为水仙花数
if total == num:
return True
else:
return False
```
使用示例:
```python
>>> isNarcissisticNumber(153)
True
>>> isNarcissisticNumber(370)
True
>>> isNarcissisticNumber(371)
True
>>> isNarcissisticNumber(407)
True
>>> isNarcissisticNumber(1634)
True
>>> isNarcissisticNumber(8208)
True
>>> isNarcissisticNumber(9474)
True
>>> isNarcissisticNumber(9475)
False
```