Funções Recursivas Parte 1
Parte da seção Logic & Flow do Journey de Python da Coddy — lição 60 de 78.
Uma função recursiva é uma função que chama a si mesma para resolver instâncias menores de um problema. Cada chamada recursiva deve aproximar a função de um caso base, que interrompe a recursão.
Exemplo: Somando números de 1 a n:
def sum_to_n(n):
if n == 0: # Caso base
return 0
return n + sum_to_n(n - 1) # Passo recursivo
print(sum_to_n(5)) # Saída: 15Desafio
FácilEscreva uma função recursiva chamada count_down que recebe um número inteiro positivo n como argumento e imprime cada número de n até 0.
Folha de consulta
Uma função recursiva chama a si mesma para resolver instâncias menores de um problema. Cada chamada recursiva deve aproximar a função de um caso base, que interrompe a recursão.
Estrutura básica:
def recursive_function(parameter):
if base_case_condition: # Caso base
return base_value
return recursive_step # Passo recursivoExemplo - somando números de 1 a n:
def sum_to_n(n):
if n == 0: # Caso base
return 0
return n + sum_to_n(n - 1) # Passo recursivo
print(sum_to_n(5)) # Saída: 15Experimente você mesmo
def count_down(n):
# Escreva o código aquiEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Logic & Flow
1Exploração de Variáveis
ConstantesAtribuição de Múltiplas VariáveisTroca de VariáveisVariáveis de Espaço ReservadoArredondar NúmerosCasting de Listas4Aplicativo de Agenda de Contatos
Exibir MenuAdicionar Contato7Conjuntos Parte 2
Operações Matemáticas Parte 1Operações Matemáticas Parte 2Revisão - Caça ao TesouroSubconjuntos e SuperconjuntosIterando sobre ConjuntosRevisão - Rastreador de Torneio10List Comprehensions Básicas
A SintaxeCriando Listas SimplesAdicionando CondiçõesUsando Agregação de DadosRecapitulação - House Of ListsRecapitulação - Elements Of Freedom13Sistema de Gerenciamento de Inventário
Visão Geral do ProjetoAdicionar Item2Dicionários Parte 1
O que é um Dicionário?Criando um DicionárioAcessando ValoresModificando DicionáriosRecapitulação - Gerenciador de Receitas5Tomada de Decisão Avançada
Operador TernárioVerificações de PertencimentoVerificações de IdentidadeErros de IndentaçãoRecapitulação - Filtro de Férias8Gerenciador de Registros de Alunos
Visão Geral do ProjetoAdicionar Aluno11Funções Avançadas
Retornando Múltiplos ValoresFunções Lambda Parte 1Funções Lambda Parte 2Desafio de Recapitulação - Lambda SortFunções Recursivas Parte 1Funções Recursivas Parte 2Recapitulação - Somar Listas Aninhadas14Funções de Ordem Superior
A Função MapA Função FilterRecapitulação - Validador de E-mailRecapitulação - Processador de Números3Dicionários Parte 2
Métodos de DicionárioDicionários AninhadosVerificando ChavesIterando em DicionáriosRecapitulação - Contador de Frequência6Conjuntos Parte 1
O que é um Conjunto?Operações BásicasMétodos de ConjuntosRecapitulação - Remover Duplicatas9Agregação de Dados Avançada
Usando SumEncontrando Mínimo e MáximoOrdenando Dados de Forma EficienteRecapitulação - Dictionary Sorter