用python编写函数,判断一个数是否为水仙花数。写出详细代码并说明,调用该函数打印出1000以内的所有水仙花数。
时间: 2023-12-14 15:39:19 浏览: 238
python 计算1000以内的水仙花数
5星 · 资源好评率100%
水仙花数是指一个n位正整数(n>=3)它的每个位上的数字的n次幂之和等于它本身。例如153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
下面是判断一个数是否为水仙花数的Python代码:
```python
def is_narcissistic_number(num):
# 将数字转换为字符串,获取数字的位数
n = len(str(num))
# 初始化sum为0
sum = 0
# 循环计算每一位的n次幂之和
for i in str(num):
sum += int(i) ** n
# 判断计算结果是否等于原数
if sum == num:
return True
else:
return False
```
接下来可以调用该函数打印出1000以内的所有水仙花数:
```python
for i in range(1000):
if is_narcissistic_number(i):
print(i)
```
输出结果为:
```
0
1
2
3
4
5
6
7
8
9
153
370
371
407
```
阅读全文