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:
<code>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]) </code>
Isso retorna:
<code>>>> [1] [1, 1] [1, 1, 1] </code>
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.
<code>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]) </code>
Mas isso retorna:
<code>>>> [1] None None </code>
Por que o "Nenhum" está aparecendo? Agradecemos antecipadamente por qualquer ajuda ou insights.