python编一些一个求水仙花数,输入任意一个0~10000内的自然数,输出各位数字之和
时间: 2024-09-13 21:16:42 浏览: 47
Python 实现一行输入多个数字(用空格隔开)
5星 · 资源好评率100%
水仙花数(Narcissistic number)通常是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。但是,如果您要求的是输入任意一个0~10000内的自然数,输出各位数字之和,那么就不是传统意义上的水仙花数了。我们可以编写一个Python程序来实现这个功能。
以下是一个简单的Python函数,它可以接受一个0~10000内的自然数,并返回该数各位数字之和:
```python
def sum_of_digits(number):
if 0 <= number <= 10000:
return sum(int(digit) for digit in str(number))
else:
return "输入的数不在0~10000范围内"
# 使用函数
num = int(input("请输入一个0~10000内的自然数:"))
print(f"该数各位数字之和为:{sum_of_digits(num)}")
```
这段代码首先定义了一个名为`sum_of_digits`的函数,它接收一个参数`number`,检查这个数是否在0~10000的范围内,如果是,就将其转换为字符串,然后对字符串中的每个字符(每个数字)进行迭代,将其转换回整数并累加求和。最后,函数会返回这个和或者在输入不在指定范围内时返回一条错误信息。
阅读全文