Я пытаюсь найти, есть ли число (кроме 2017), чьи положительные делители суммируют с 2018. Вот мой код Python 3.Я могу сделать это первым способом, но хотел попробовать со списком.Но список пуст, когда я его запускаю.
import math
def divisors(x):
divisors = []
for y in range(1,math.floor(x*0.5)+1):
if x%y==0:
divisors.append(y)
divisors.append(x)
return divisors
for x in range(2018):
if sum(divisors(x)) == 2018:
print(x,sum(divisors(x)))
print([x for x in range(1,2018) if (sum(divisors(x)))==0])
Также будут приветствоваться любые другие советы по упрощению кода или повышению эффективности!