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?

¿Fue útil?

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 regresa False.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
scroll top