私信  •  关注

Shane Tyler Malachow

Shane Tyler Malachow 最近创建的主题
Shane Tyler Malachow 最近回复了
7 年前
回复了 Shane Tyler Malachow 创建的主题 » 为什么我的python代码显示了错误的结果?

你让事情变得比需要的更复杂。您需要一个嵌套循环来解决这个问题。循环遍历范围内的每个数字,将值x设置为0,每次找到一个等分的数字时,将其添加到x中。如果在内部循环的末尾,x==i,则会得到一个完美的数字并将其打印出来。如果你需要它在一个列表中,把它附加到你的列表中。您试图保存所有中间数,如果找到结果,就保存它。

for i in range(m,n+1):
    x = 0
    for j in range(1,i):
        if i % j == 0:
            x += j
    if i == x:
        print(i)