📅  最后修改于: 2023-12-03 14:46:40.423000             🧑  作者: Mango
完美数字,是指一个正整数除了本身以外所有能够整除它的正整数的和等于它本身的数,例如 6 就是一个完美数字,因为 6 的因子有 1, 2, 3,而 1 + 2 + 3 = 6。
在 Python 中,我们可以写出一个判断一个数是否为完美数字的程序。
对于一个正整数 n,我们需要找到它的所有因子,然后把这些因子加起来,如果和等于 n,那么 n 就是一个完美数字。
def perfect_number(n):
factors = []
for i in range(1, n):
if n % i == 0:
factors.append(i)
if sum(factors) == n:
return True
else:
return False
上面的代码中,我们定义了一个名为 perfect_number
的函数,它接受一个整数参数 n。在函数内部,我们使用了一个 for 循环来找到 n 的所有因子,并把它们保存在一个列表中。然后,我们使用 Python 内置的 sum()
函数计算出这个列表内所有元素的总和,并检查这个总和是否等于 n。如果是,那么 n 就是一个完美数字,函数返回 True;否则,函数返回 False。
现在,我们来演示一下如何使用上面的代码判断一个数是否为完美数字。
print(perfect_number(6)) # True
print(perfect_number(28)) # True
print(perfect_number(496)) # True
print(perfect_number(8128)) # True
print(perfect_number(27)) # False
print(perfect_number(100)) # False
上面的代码会输出以下结果:
True
True
True
True
False
False
Python 中的完美数字程序可以判断一个正整数是否为完美数字,它的实现方式简单明了,使用了 Python 内置的函数和列表等数据结构,是 Python 编程语言的一个典型应用场景。如果你想练习 Python 编程,那么可以挑战一下自己能否写出一个更高效的完美数字程序。