python代码编写一个求完数的自定义函数,从键盘中一次输入数值区间的范围,调用自定义函数求该范围内的完数。
时间: 2024-10-13 08:12:18 浏览: 58
在Python中,我们可以创建一个名为`findPerfectNumbers`的自定义函数,该函数接收两个参数,代表范围的开始和结束值。首先,我们需要了解什么是完数:一个正整数如果它等于除1和它本身以外的所有正因子之和,那么这个数就被称为完数。
下面是一个简单的示例,实现了这个功能:
```python
def is_perfect_number(n):
divisors = [i for i in range(1, int(n**0.5) + 1) if n % i == 0]
return sum(divisors) == n
def find_perfect_numbers(start, end):
perfect_numbers = []
for num in range(start, end+1):
if is_perfect_number(num):
perfect_numbers.append(num)
return perfect_numbers
# 获取用户输入的区间
start_range = int(input("请输入数值区间的起始值: "))
end_range = int(input("请输入数值区间的结束值: "))
# 调用自定义函数并打印结果
perfect_nums_in_range = find_perfect_numbers(start_range, end_range)
print(f"在 {start_range} 到 {end_range} 区间内,完数有: {perfect_nums_in_range}")
阅读全文