def fun(n): factors = [i for i in range(1, n) if n % i == 0] if sum(factors) == n: return 1 else: return 0 n = int(input("请输入一个整数:")) if fun(n): print(n, "是完数") else: print(n, "不是完数")注释
时间: 2024-04-03 17:32:15 浏览: 51
def f(x,l=[]): for i in range(x): l.append(i*i) print(l) f(2) f(3,[3,2,1]) f(3)
5星 · 资源好评率100%
这段代码实现了一个函数 fun(n),判断一个整数 n 是否为完数。如果 n 是完数,函数返回 1,否则返回 0。完数是指一个数恰好等于它的因子之和,比如 6 就是完数,因为 6=1+2+3。
函数的实现思路是先生成 n 的所有因子(不包括 n 本身),然后计算它们的和,如果和等于 n,就说明 n 是完数。
接下来代码通过输入一个整数 n,调用 fun(n) 函数进行判断,如果返回值为 1,就输出 n 是完数,否则输出 n 不是完数。
阅读全文