single
Sfida: Formattazione di un Numero di Telefono
Scorri per mostrare il menu
Ricorda che una funzione ricorsiva risolve un problema chiamando sé stessa con un input più semplice, fino a raggiungere il caso base che interrompe la ricorsione:
1234def list_sum(numbers): if not numbers: # Base case return 0 return numbers[0] + list_sum(numbers[1:]) # Recursive case
Nota come ogni chiamata ricorsiva lavora su una versione più piccola dell'input — in questo caso, la lista senza il suo primo elemento. Lo stesso approccio si applica quando si elaborano le stringhe carattere per carattere.
Scorri per iniziare a programmare
Data una stringa che rappresenta un numero di telefono, che può contenere spazi, trattini, parentesi o altri caratteri non numerici. L'obiettivo è estrarre solo le cifre utilizzando la ricorsione.
- Se la stringa di input
numberè vuota, restituire una stringa vuota; - Verificare se il primo carattere della stringa
numberè una cifra utilizzando il metodoisdigit(); - Se è una cifra, concatenarla con il risultato di una chiamata ricorsiva passando la sottostringa a partire dal secondo carattere;
- Se non è una cifra, effettuare una chiamata ricorsiva saltando il primo carattere.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione