Stundas uzdevums: Apvienot visas 4. tēmā apgūtās prasmes - funkcijas, parametrus, return, mainīgo tvērumu un moduļus - pilnvērtīgā termināļa skaitļu minēšanas spēlē.
Pirms sāc: izmanto iepriekš apgūto un šīs lapas teorijas/koda piemērus. Ja vajadzīga jauna komanda vai rīks, vispirms atrodi tās paraugu teorijas sadaļā.
Dators izvēlas nejaušu skaitli no 1 līdz 100. Spēlētājs mēģina to uzminēt, ievadot skaitli terminālī. Pēc katra mēģinājuma spēle dod mājienu - vai patiesais skaitlis ir lielāks vai mazāks. Spēle beidzas, kad spēlētājs uzmin skaitli vai kad mēģinājumi izbeigušies (10 mēģinājumi). Beigās tiek parādīts mēģinājumu skaits.
def salidzina(minetais, patiesais):
if minetais < patiesais:
return "par mazu"
if minetais > patiesais:
return "par lielu"
return "trāpīts"
70 min plāns: funkciju projektēšana ~25 min, cikls un mēģinājumi ~25 min, modularitāte un GitHub ~20 min.
spele.py.izveido_skaitli(), kas ar random.randint(1, 100) izveido un atgriež nejaušu skaitli.salidzina(minetais, patiesais), kas atgriež teksta mājienu - "par lielu", "par mazu" vai "trāpīts".spele(), kas izsauc abas iepriekšējās funkcijas un izvada mājienu.while ciklu, kas atkārtojas, līdz spēlētājs uzmin skaitli vai sasniegts 10 mēģinājumu limits.megi, kuru palielini katrā cikla iterācijā.main.py (palaiž spēli) un spele.py (visas spēles funkcijas).main.py izmanto from spele import spele un izsauc spele().Šis ir īss iesildīšanās uzdevums. Nokopē sagatavi, ielīmē to pareizajā koda vietā un palaid. Šeit pietiek droši izmēģināt tēmu 4.6 Noslēguma projekts: Skaitļu minētājs; detalizētu izpratni veidosi nākamajos uzdevumos.
Kopējamais piemērs vai sagatave: izmanto šo bloku kā starta punktu, nevis kā gala risinājumu.
def salidzina(minetais, patiesais):
if minetais < patiesais:
return "par mazu"
if minetais > patiesais:
return "par lielu"
return "trāpīts"
main.py failā un palaid no termināļa.Pievieno šīs stundas paņēmienu kā nelielu, strādājošu projekta daļu.
punkti, gajiens, atbilde, rezultats vai parbauda_ievadi().Pārbaudi, vai algoritms darbojas paredzami vairākās situācijās.
Ja pamatdarbs ir pabeigts, paplašini projektu ar vienu nelielu programmētu uzlabojumu.
return.| Kritērijs | Sācis apgūt (1-3) | Turpina apgūt (4-6) | Apguvis (7-8) | Apguvis padziļināti (9-10) |
|---|---|---|---|---|
Funkcijas un return |
Programma uzrakstīta vienā kodu blokā bez funkcijām. | Lieto vienu funkciju, bet vērtības tiek nodotas caur globāliem mainīgajiem. | Lieto vairākas funkcijas ar parametriem un return; mainīgie ir lokāli. |
Funkcijas ir universālas (var mainīt skaitļu robežas un mēģinājumu limitu kā parametrus). |
| Cikli un sazarojumi | Cikls darbojas neparedzami vai izraisa kļūdu. | Cikls strādā, bet pārtraukšanas nosacījumi ir kļūdaini. | Cikls korekti pārtrauc darbību pie pareizās atbildes vai mēģinājumu izbeigšanās. | Pievienotas papildu pārbaudes (piem., neskaitliska ievade) bez programmas avārijas. |
| Modularitāte un stils | Viens fails, nav PEP 8 ievērošanas. | Sadalīts vairākos failos, bet imports vai struktūra nepilnīga. | Pareiza moduļu sadarbība, atbilst PEP 8, pievienoti docstring. | Profesionāla struktūra: tipi (type hints), izvērsti komentāri, GitHub ar 3+ commit. |
main.py.