Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Utfordring: Formatering av et Telefonnummer | Rekursjon og Lambda-funksjoner
Python Funksjoner Veiledning
Seksjon 5. Kapittel 2
single

single

bookUtfordring: Formatering av et Telefonnummer

Sveip for å vise menyen

Husk at en rekursiv funksjon løser et problem ved å kalle seg selv med et enklere input, helt til den når grunntilfellet som stopper rekursjonen:

1234
def list_sum(numbers): if not numbers: # Base case return 0 return numbers[0] + list_sum(numbers[1:]) # Recursive case
copy

Legg merke til hvordan hvert rekursive kall arbeider på en mindre versjon av input — i dette tilfellet listen uten det første elementet. Den samme tilnærmingen gjelder når man behandler strenger tegn for tegn.

Oppgave

Sveip for å begynne å kode

Gitt en streng som representerer et telefonnummer, som kan inneholde mellomrom, bindestreker, parenteser eller andre ikke-numeriske tegn. Målet er å ekstrahere kun sifrene ved hjelp av rekursjon.

  1. Hvis inputstrengen number er tom, returner en tom streng;
  2. Sjekk om det første tegnet i strengen number er et siffer ved å bruke metoden isdigit();
  3. Hvis det er et siffer, konkatenér det med resultatet av et rekursivt kall hvor du sender inn delstrengen som starter fra andre tegn;
  4. Hvis det ikke er et siffer, gjør et rekursivt kall hvor du hopper over første tegn.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 2
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

some-alt