Pergunta

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'

não consigo adicionar i para list, qualquer ideia?

Foi útil?

Solução

Duas coisas estão erradas com seu código:

  • Você está fazendo um list == [] que retorna um Verdadeiro ou Falso, pois == é um operador de comparação.Neste caso ele retorna False.Você precisa usar = para inicializar uma variável.
  • list é o nome de um tipo interno em python, use outra coisa como nome de variável.

Corrigindo os dois:

alist = []

def MultiplesNumber(a):
    for i in range(1, a+1):
             if a % i == 0:
                    return i

alist.append(MultiplesNumber(100))

fornece a saída correta.

Outras dicas

list é a palavra-chave embutida que obscurece seu list variável.Você precisa atribuir uma lista a uma variável e não verificar sua igualdade.

lst = []


def MultiplesNumber(a):
    return [x for x in range(1, a + 1) if a % 2 == 0]


lst.append(MultiplesNumber(100))
print(lst)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top