使用函数输出给定区间内所有水仙花数(函数嵌套
时间: 2024-12-17 15:22:23 浏览: 5
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。要编写一个函数来找出给定区间的水仙花数,我们可以创建一个嵌套函数结构:
首先,外部函数接受一个范围作为输入参数,然后内部函数负责检查每个数是否是水仙花数。
```python
def find_water_lilies(start, end):
def is_lycian_number(n):
# 将数字转换为字符串以便提取每一位
digits = str(n)
return n == sum(int(digit) ** 3 for digit in digits)
water_lilies = []
for num in range(start, end+1): # 区间包括end
if is_lycian_number(num):
water_lilies.append(num)
return water_lilies
# 示例使用
start = 100
end = 999
result = find_water_lilies(start, end)
print(f"区间 {start} 到 {end} 内的水仙花数有:", result)
阅读全文