perfect_numbers = []
for num in range(2, 1001):
factors = []
for i in range(1, num):
if num % i == 0:
factors.append(i)
if sum(factors) == num:
perfect_numbers.append(num)
print(perfect_numbers)
for i in range(2, 1001):
s = 0
for j in range(1, i):
if i % j == 0 and j < i:
s += j
if s == i:
print(i)
如果您对这个问题进行了搜索并阅读了前几页,请准备好深入了解语义。 您最好仅了解其工作原理。
不变的对象(如字符串,数字和元组)是按值调用的。 请注意,在函数内部进行修改后,name的值不会在函数外部发生变化。 name的值已分配给该功能范围内的内存中的新块。
name = 'chr'
def add_chars(s):
s += 'is' print(s)
add_chars(name)
print(name)
#=> chris
#=> chr
可变对象(如list)是按引用调用的。 注意如何在函数外部定义的列表在函数内部被修改。 函数中的参数指向内存中存储li值的原始块。
li = [1,2]
def add_element(seq):
seq.append(3)
print(seq)
add_element(li)
print(li)
#=> [1, 2, 3]
#=> [1, 2, 3]
抱歉,以上参考资料与Python123基本操作题38的问题无关。请提供具体的问题和错误信息或代码,以便我能够帮助您解决问题。