single
Haaste: Puhelinnumeron Muotoilu
Pyyhkäise näyttääksesi valikon
Muista, että rekursiivinen funktio ratkaisee ongelman kutsumalla itseään yksinkertaisemmalla syötteellä, kunnes saavutetaan perusehto, joka lopettaa rekursion:
1234def list_sum(numbers): if not numbers: # Base case return 0 return numbers[0] + list_sum(numbers[1:]) # Recursive case
Huomaa, että jokainen rekursiivinen kutsu käsittelee pienempää versiota syötteestä — tässä tapauksessa listaa ilman ensimmäistä alkiota. Sama lähestymistapa pätee, kun käsitellään merkkijonoja merkki kerrallaan.
Pyyhkäise aloittaaksesi koodauksen
Annettuna merkkijono, joka edustaa puhelinnumeroa ja voi sisältää välilyöntejä, viivoja, sulkuja tai muita ei-numeerisia merkkejä. Tavoitteena on poimia vain numerot rekursion avulla.
- Jos syötemerkkijono
numberon tyhjä, palautetaan tyhjä merkkijono; - Tarkista, onko merkkijonon
numberensimmäinen merkki numero käyttämälläisdigit()-metodia; - Jos se on numero, yhdistä se rekursiivisen kutsun tulokseen, jossa parametrina on toisesta merkistä alkaen muodostettu aliketju;
- Jos se ei ole numero, tee rekursiivinen kutsu ohittaen ensimmäinen merkki.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme