def encontra_impares(lista):
# Define a lista que armazenará os números ímpares:
lis = []
# Verifica se há elementos na lista:
if len(lista) > 0:
# Retira o primeiro elemento da lista:
numero = lista.pop(0)
# Verifica se o número é ímpar:
if numero % 2 != 0:
# Sim, então adiciona-o à lista de ímpares:
lis.append(numero)
# Faz a união do resultado atual com o retorno para o resto da lista:
lis = lis + encontra_impares(lista)
# Retorna a lista final:
return lis
print(encontra_impares([1, 2, 3]))
ZGVmIGVuY29udHJhX2ltcGFyZXMobGlzdGEpOgogICAgCiAgICAjIERlZmluZSBhIGxpc3RhIHF1ZSBhcm1hemVuYXLDoSBvcyBuw7ptZXJvcyDDrW1wYXJlczoKICAgIGxpcyA9IFtdCiAgICAKICAgICMgVmVyaWZpY2Egc2UgaMOhIGVsZW1lbnRvcyBuYSBsaXN0YToKICAgIGlmIGxlbihsaXN0YSkgPiAwOgogICAgICAgIAogICAgICAgICMgUmV0aXJhIG8gcHJpbWVpcm8gZWxlbWVudG8gZGEgbGlzdGE6CiAgICAgICAgbnVtZXJvID0gbGlzdGEucG9wKDApCiAgICAgICAgCiAgICAgICAgIyBWZXJpZmljYSBzZSBvIG7Dum1lcm8gw6kgw61tcGFyOgogICAgICAgIGlmIG51bWVybyAlIDIgIT0gMDoKICAgICAgICAgICAgCiAgICAgICAgICAgICMgU2ltLCBlbnTDo28gYWRpY2lvbmEtbyDDoCBsaXN0YSBkZSDDrW1wYXJlczoKICAgICAgICAgICAgbGlzLmFwcGVuZChudW1lcm8pCiAgICAgICAgICAgIAogICAgICAgICMgRmF6IGEgdW5pw6NvIGRvIHJlc3VsdGFkbyBhdHVhbCBjb20gbyByZXRvcm5vIHBhcmEgbyByZXN0byBkYSBsaXN0YToKICAgICAgICBsaXMgPSBsaXMgKyBlbmNvbnRyYV9pbXBhcmVzKGxpc3RhKQogICAgICAgIAogICAgIyBSZXRvcm5hIGEgbGlzdGEgZmluYWw6CiAgICByZXR1cm4gbGlzCiAgICAKcHJpbnQoZW5jb250cmFfaW1wYXJlcyhbMSwgMiwgM10pKQ==