6-9 编写函数判断水仙花
时间: 2024-03-03 19:49:55 浏览: 140
好的,以下是判断水仙花的函数代码:
```python
def is_narcissistic_number(num):
"""
判断一个数是否为水仙花数
:param num: 需要判断的数
:return: True 或 False
"""
# 将数字转换为字符串并获取每一位数字
digits = list(str(num))
# 计算每一位数字的立方和
total = sum([int(digit) ** 3 for digit in digits])
# 判断是否为水仙花数
if total == num:
return True
else:
return False
```
你可以调用这个函数并传入一个数字参数,函数会返回 True 或 False,表示该数字是否为水仙花数。
相关问题
6-11 编写函数判断水仙花数
水仙花数(Narcissistic number)也被称为阿姆斯壮数(Armstrong number),是指一个 n 位数,其各位数字的 n 次幂之和等于它本身。例如,153 是一个三位数的水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
下面是一个用Python编写的函数,用于判断一个数是否是水仙花数:
```python
def is_narcissistic(number):
# 将数字转换为字符串以便逐位处理
str_num = str(number)
# 计算数字的位数
n = len(str_num)
# 计算各位数字的n次幂之和
sum_of_powers = sum(int(digit) ** n for digit in str_num)
# 判断是否等于原数
return sum_of_powers == number
# 测试函数
number = 153
if is_narcissistic(number):
print(f"{number} 是水仙花数")
else:
print(f"{number} 不是水仙花数")
```
这个函数的工作原理如下:
1. 将输入的数字转换为字符串,以便逐位处理。
2. 计算数字的位数。
3. 计算各位数字的 n 次幂之和。
4. 判断计算结果是否等于原数,如果是,则返回 `True`,否则返回 `False`。
编写函数判断水仙花数
好的,下面是判断水仙花数的 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`。
阅读全文
相关推荐
















