Coding for KidsCoding for Kids
Niveluri CreativeProvocăriGhid pentru Profesori
Votează pentru funcții
Curs Avansat de Dezvoltare Python
Capitolul
>
Nivel

Funcții avansate
Funcții Imbricate

Obiectiv

Colectează, redistribuie și depozitează pânza produsă de mașini folosind funcții imbricate.

Uneori vei dori să plasezi funcții în interiorul altor funcții pentru a extinde capacitățile acestora. Acestea se numesc funcții imbricate sau funcții interioare; au diverse utilizări, de la crearea unui cod simplu reutilizabil în interiorul unei funcții, până la protejarea funcțiilor tale de manipularea externă.

În atelier există mai multe mașini de fabricat pânză, unele au pânza gata pentru depozitare, altele necesită fir pentru a finaliza producția pânzei. Fiecare are fie un "red", fie "green" sau un covor verde în fața sa, care va indica modul în care este utilizată. În editorul de cod va fi scrisă o funcție care ne va permite să operăm mașina și să colectăm sau să plasăm materialele din aceasta.

def operate_machine(color): def collect_cloth(): # Collect Code player.speak("Cloth is ready for storage") def place_thread(): # Place Code player.speak("Machine needed more materials") if color == "green": collect_cloth() if color == "red": place_thread()

Funcția se numește operate_machine și primește un argument numit color. În funcție de culoarea covorului din fața mașinii, introducând fie "red" fie "green" ca argument se va modifica operația mașinii, permițându-ți să plasezi sau să colectezi obiecte.

În interiorul funcției vei găsi două funcții imbricate, numite collect_cloth() și place_thread(), folosite pentru scopurile indicate de denumirile lor. Le lipsesc liniile necesare pentru a-și îndeplini acțiunea: la collect_cloth() adaugă linia player.collect("cloth"), urmată de player.speak("Quilt is ready for storage"), iar la place_thread() adaugă linia player.place("thread") care este urmată de player.speak("Machine needed more materials").

După ce ai adăugat liniile lipsă de cod în funcțiile imbricate, mergi la semnul X luminos din fața lăzii și colectează "thread" pentru a fi folosit în mașină, astfel: player.collect("thread").

Mergi către semnele X întunecate din interiorul atelierului și folosește funcția personalizată operate_machine în timp ce te afli în fața mașinilor. Adaugă fie "red" fie "green" ca argument, în funcție de culoarea covorului pe care se află semnul X, de exemplu: operate_machine("red"). Acest lucru îți va permite să plasezi firul și să colectezi pânza.

După ce ai colectat toată pânza, mergi la semnul X de culoare aurie de lângă lada din spate și folosește funcția place() pentru a depozita pânza. Creează o variabilă numită cloths, adaugă în ea numărul de pânze colectate și depoziteaz-o în ladă pentru a finaliza nivelul, astfel: player.place(cloths).

Carte de Cod