single
Desafio: Formatando um Número de Telefone
Deslize para mostrar o menu
Lembre-se de que uma função recursiva resolve um problema chamando a si mesma com uma entrada mais simples, até atingir o caso base que interrompe a recursão:
1234def list_sum(numbers): if not numbers: # Base case return 0 return numbers[0] + list_sum(numbers[1:]) # Recursive case
Observe como cada chamada recursiva trabalha em uma versão menor da entrada — neste caso, a lista sem seu primeiro elemento. A mesma abordagem se aplica ao processar strings caractere por caractere.
Deslize para começar a programar
Dada uma string representando um número de telefone, que pode conter espaços, traços, parênteses ou outros caracteres não numéricos. O objetivo é extrair apenas os dígitos utilizando recursão.
- Se a string de entrada
numberestiver vazia, retornar uma string vazia; - Verificar se o primeiro caractere da string
numberé um dígito utilizando o métodoisdigit(); - Se for um dígito, concatenar com o resultado de uma chamada recursiva passando a substring a partir do segundo caractere;
- Se não for um dígito, fazer uma chamada recursiva ignorando o primeiro caractere.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo