No puedo agregar un int a una lista
-
21-12-2019 - |
Pregunta
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'
no puedo agregar i
a list
, ¿alguna idea?
Solución
Dos cosas están mal con tu código:
- estas haciendo un
list == []
que devuelve un Verdadero o Falso ya que==
es un operador de comparación.En este caso regresaFalse
.Necesitas usar=
para inicializar una variable. list
es el nombre de un tipo integrado en Python, use algo más como nombre de variable.
Arreglando a ambos:
alist = []
def MultiplesNumber(a):
for i in range(1, a+1):
if a % i == 0:
return i
alist.append(MultiplesNumber(100))
da la salida correcta.
Otros consejos
list
es la palabra clave incorporada que ensombrece tu list
variable.Debe asignar una lista a una variable, no verificar su igualdad.
lst = []
def MultiplesNumber(a):
return [x for x in range(1, a + 1) if a % 2 == 0]
lst.append(MultiplesNumber(100))
print(lst)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow