13. kodutöö
1. Kasutatud auto hind rekursiivselt
Arvestame, et auto kaotab igal aastal väärtust 20% võrreldes eelmise aastaga. Kirjuta rekursiivne funktsioon (ehk funktsioon, mis kutsub välja iseennast), mis võtab sisse auto hinna ja aastate arvu ning tagastab, kui palju on auto väärt antud arvu aastate pärast. Funktsioon peab ümardama kõik tagastatavad hinnad kahe komakohani.
>>> auto_hind(10000.0, 0) 10000.0 >>> auto_hind(10000.0, 5) 3276.8 >>> auto_hind(10000.0, 1) 8000.0 >>> auto_hind(8000.0, 5) # või auto_hind(10000.0, 6) 2621.44
Seda ülesannet saab lahendada ka while-tsükliga või valemiga, aga lahendamine rekursiivse funktsiooniga aitab hästi mõista rekursiooni mõtet.
Kui oled juba hulk aega proovinud ülesannet iseseisvalt lahendada ja see ikka ei õnnestu, siis võib-olla saad abi murelahendajalt
. Püütud on selgitada tüüpilisemaid probleemseid selgitada ja anda vihjeid.
2. Fraktal
Kirjuta mooduli turtle abil rekursiivne funktsioon, mis joonistab järgmise kujundi:
Lõpeta rekursioon siis, kui kriipsude pikkus läheb ühe piksli suuruseks.
Vihje Iga järgnev kriips on eelmisest √2 korda väiksem.
Automaatkontroll on olemas, aga ei kontrolli väljundpildi korrektsust.