Kuidas Pythonis korduda

Iteratsioon on üks Pythonis silmuse loomise viise. Siiski pakub rekursioon mõnikord mitmekülgsemat viisi millegi läbimiseks.

1
Avage pythoni redaktor. Paljud teised Python Selgitatud, sealhulgas Install Python, võivad teile näidata, kuidas seda teha.

2
Alustage funktsiooni kirjutamist. See nõuab mõningaid teadmisi Pythoni funktsioonide kohta. Meie näidisfunktsiooni nimi on sum_of ja see võtab a_list kui input.def sum_of(a_list):

3
Määratlege põhijuhtum(id). Igal rekursiivsel funktsioonil peab olema vähemalt üks põhijuht, sest hiljem kutsume funktsiooni enda sees. Selleks peate tagama, et funktsioon jõuaks lõpuks “peatuspunkti” – põhijuhtumini/juhtudele. Selles näites on üks juhtum:def summa_of(a_list): if len(a_list) == 0: tagasta 0

4
Tagasta funktsioon ise. See tundub kindlasti intuitiivne, nii et tehke seda hoolikalt. Selles näites kirjutatakse funktsioon summa_of, siis kirjeldatakse, kuidas see töötab ja kuidas oma koodi teha.def sum_of(a_list): if len(a_list) == 0: return 0 else: return a_list[0] + sum_of(a_list[1:])Siin on see, mis tegelikult juhtub, kui kutsume seda funktsiooni näidissisendiga sum_of([1,2,3]):>>>sum_of([1,2,3])6Funktsioon jookseb läbi esimest korda ja tagastab 1 + summa_of([2, 3]). See peab ikkagi tagastama väärtuse, kuna seda on uuesti välja kutsutud, nii et see jätkub ja saame 1 + 2 + summa_of([3]). Järgmisena saame 1 + 2 + 3 + summa_of([]). See on põhijuht – summa_of([]) tagastab alati 0. Valmis! Python liidab need “lubatud” väärtused ja tagastab 6!

5
Testige oma funktsiooni.Nagu iga hea programmeerija õpib, peate enne edasiliikumist oma funktsiooni testima, et veenduda selle toimimises. Kui unustate oma funktsioone enne koodi kirjutamist testida, võivad ilmneda vead, ilma et te teaksite, mis viga on. Iga funktsiooni testimine veendumaks, et see teeb seda, mida see peaks, on oluline. Selle artikli näite funktsiooni sum_of jaoks saame sisestada tühja loendi või mis tahes soovitud loendi (mida saame vaimselt arvutada). Soovitatav on kirjutada funktsioon faili __main__, seejärel käivitada kood ja kutsuda funktsioon välja interaktiivses pythoni konsoolis. Võite kasutada ka mõnda prindilauset faili __main__ lõpus.>>>sum_of([])0 >>>summa_of([1,2,3,4,3])13