Não consigo adicionar um int a uma lista
-
21-12-2019 - |
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?
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 retornaFalse
.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