single
Desafío: Formatear un Número de Teléfono
Desliza para mostrar el menú
Recuerda que una función recursiva resuelve un problema llamándose a sí misma con una entrada más simple, hasta que alcanza el caso base que detiene la recursión:
1234def list_sum(numbers): if not numbers: # Base case return 0 return numbers[0] + list_sum(numbers[1:]) # Recursive case
Observa cómo cada llamada recursiva trabaja sobre una versión más pequeña de la entrada — en este caso, la lista sin su primer elemento. El mismo enfoque se aplica al procesar cadenas de texto carácter por carácter.
Desliza para comenzar a programar
Dada una cadena que representa un número de teléfono, la cual puede contener espacios, guiones, paréntesis u otros caracteres no numéricos. El objetivo es extraer únicamente los dígitos utilizando recursión.
- Si la cadena de entrada
numberestá vacía, devolver una cadena vacía; - Comprobar si el primer carácter de la cadena
numberes un dígito utilizando el métodoisdigit(); - Si es un dígito, concatenarlo con el resultado de una llamada recursiva pasando la subcadena que comienza desde el segundo carácter;
- Si no es un dígito, realizar una llamada recursiva omitiendo el primer carácter.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla