Я не могу добавить int в список
-
21-12-2019 - |
Вопрос
list == []
def MultiplesNumber(a):
for i in range(1, a+1):
if a % i == 0:
return i
list.append(MultiplesNumber(100))
TypeError: descriptor 'append' requires a 'list' object but received a 'int'
я не могу добавить i
к list
, Есть идеи?
Решение
В вашем коде не так две вещи:
- Вы делаете
list == []
который возвращает True или False, поскольку==
является оператором сравнения.В этом случае он возвращаетFalse
.Вам нужно использовать=
для инициализации переменной. list
— это имя встроенного типа в Python, используйте другое имя в качестве имени переменной.
Исправление обоих:
alist = []
def MultiplesNumber(a):
for i in range(1, a+1):
if a % i == 0:
return i
alist.append(MultiplesNumber(100))
дает правильный вывод.
Другие советы
list
- это встроенное ключевое слово, которое тенирует вашу переменную list
.Вам нужно назначить список переменную, не проверяю его равенство.
lst = []
def MultiplesNumber(a):
return [x for x in range(1, a + 1) if a % 2 == 0]
lst.append(MultiplesNumber(100))
print(lst)
. Не связан с StackOverflow