Python判断是否为水仙花数,写水仙花数用两个函数
时间: 2023-10-20 11:13:22 浏览: 86
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
下面是判断一个数是否为水仙花数的Python函数:
```python
def is_narcissistic_number(num):
# 将数字转为字符串,然后转为列表,方便逐位取数字
num_list = list(str(num))
# 求出各位数字立方和
sum = 0
for i in num_list:
sum += int(i) ** 3
# 判断是否为水仙花数
if sum == num:
return True
else:
return False
```
接下来是生成水仙花数的Python函数:
```python
def get_narcissistic_numbers():
result = []
# 遍历所有三位数
for i in range(100, 1000):
# 判断是否为水仙花数
if is_narcissistic_number(i):
# 如果是,加入结果列表
result.append(i)
return result
```
调用`get_narcissistic_numbers()`函数即可获取所有的水仙花数。
相关问题
Python判断是否为水仙花数
在Python中,水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。要编写一个函数来检查一个整数是否为水仙花数,你可以使用以下步骤:
```python
def is_armstrong_number(n):
# 将数字转换为字符串以便获取每一位
str_n = str(n)
# 确保输入的是三位数
if len(str_n) != 3:
return False
# 计算每一位的立方和
digit_sum = sum(int(digit) ** 3 for digit in str_n)
# 检查是否等于原数
return digit_sum == n
# 测试示例
print(is_armstrong_number(153)) # 输出:True
```
这个函数首先将数字转换成字符串,然后计算每个位的立方并求和。如果求得的和等于原始数字,则返回`True`,表示是水仙花数;否则返回`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。
阅读全文