Função Python retorna Nenhum, não está claro porque
Eu sou muito novo para python e estou chegando a um problema que não posso explicar. Eu tentei pesquisar as respostas do fórum aqui, mas o que estou encontrando não corresponde à minha situação. Parece que estou sentindo falta de algo bem básico, mas não estou vendo (obviamente ...)
Esse código é executado da maneira esperada:
import string
mults = [1,2,3,4,6,7,9,10,12,15,16,19,21,22,24]
def factor_exp(lst):
if lst[-1] == 1:
lst.pop()
return lst+[1]
if lst[-1] == 2:
lst.pop()
return lst+[1,1]
else:
return "Should never get here"
print factor_exp([1])
print factor_exp([2])
print factor_exp([1,2])
Isso retorna:
>>>
[1]
[1, 1]
[1, 1, 1]
Qual é o que eu quero.
Eu pensei que usar o append e estender a lista dentro da função funcionaria também. Um "append" adicionado perto da parte inferior do código.
import string
mults = [1,2,3,4,6,7,9,10,12,15,16,19,21,22,24]
def factor_exp(lst):
if lst[-1] == 1:
lst.pop()
return lst+[1]
if lst[-1] == 2:
lst.pop()
return lst.append([1,1])
else:
return "Should never get here"
print factor_exp([1])
print factor_exp([2])
print factor_exp([1,2])
Mas isso retorna:
>>>
[1]
None
None
Por que o "Nenhum" está aparecendo? Agradecemos antecipadamente por qualquer ajuda ou insights.