编写函数判断水仙花数
时间: 2023-08-14 10:07:29 浏览: 126
好的,下面是判断水仙花数的 Python 函数:
```python
def is_narcissistic_number(n):
"""
判断一个数是否为水仙花数
"""
# 将数字转换为字符串,并获取字符串的长度
s = str(n)
length = len(s)
# 计算每一位的立方和
sum = 0
for i in s:
sum += int(i) ** length
# 如果和等于原数,则是水仙花数
return sum == n
```
这个函数接受一个整数 `n` 作为参数,返回一个布尔值,表示这个数是否为水仙花数。如果是水仙花数,返回 `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`。
python编写函数判断水仙花数
当一个 3 位数等于其各位数字的立方和时,它被称为水仙花数。可以用以下 Python 函数来判断一个数是否为水仙花数:
```python
def is_armstrong(n):
# 将数字转化为字符串,计算位数
num_digits = len(str(n))
# 计算各位数字的立方和
armstrong_sum = sum([int(digit)**num_digits for digit in str(n)])
# 判断是否为水仙花数
if armstrong_sum == n:
return True
else:
return False
```
示例:
```python
>>> is_armstrong(153)
True
>>> is_armstrong(370)
True
>>> is_armstrong(371)
True
>>> is_armstrong(407)
True
>>> is_armstrong(123)
False
```