Šajā tēmā mēs iemācām datoram pieņemt lēmumus un domāt loģiski. Skolēni apgūst, kā izmantot zarošanos, lai programma reaģētu uz dažādām situācijām, veidojot pamatu spēlei "Gudrais Akmens-Šķēres-Papīrīts". Galvenais fokuss ir uz programmas plūsmas kontroli — vairs ne tikai no augšas uz leju, bet ar iespēju atgriezties, atkārtot un izvēlēties ceļu.
Tiek ieviesti algoritmu vadības pīlāri: salīdzināšanas operatori un if/elif/else struktūras, kā arī loģiskie operatori (and, or, not) sarežģītāku nosacījumu veidošanai. Skolēni apgūst ciklus (while), kas ļauj spēlei darboties nepārtraukti, un iemācās vadīt šo ciklu norisi ar break un continue komandām.
Īpaša uzmanība tiek pievērsta programmas stabilitātei. Ar try/except blokiem skolēni iemācās veidot "kļūdu izturīgu" ievadi (validāciju), lai nepareizs taustiņa spiediens neapturētu spēli. Tēmas noslēgumā, izmantojot random moduli, tiek radīts mākslīgais pretinieks, kurš spēj pieņemt nejaušus lēmumus, radot pilnvērtīgu spēles pieredzi.
Šeit apkopota svarīgākā Python sintakse un rīki, kas palīdz kontrolēt programmas plūsmu: pieņemt lēmumus, atkārtot darbības un strādāt ar datu sarakstiem.
Ļauj programmai izvēlēties dažādus rīcības scenārijus atkarībā no situācijas.
# if, elif un else struktūra
if punkti >= 50:
print("Uzvara!")
elif punkti > 0:
print("Mēģini vēl!")
else:
print("Spēles beigas.")
== (Vienāds ar), != (Nav vienāds), > (Lielāks), < (Mazāks), >=, <=.Apvieno vairākus nosacījumus vienā pārbaudē, lai optimizētu kodu.
| Operators | Kā tas darbojas? | Koda piemērs |
|---|---|---|
and (UN) |
Patiess tikai tad, ja visi nosacījumi izpildās. | if limenis >= 10 and zelts >= 50: |
or (VAI) |
Patiess, ja vismaz viens nosacījums izpildās. | if ievade == "stop" or ievade == "iziet": |
not (NE) |
Apgriež stāvokli (True kļūst par False). | if not speles_beigas: |
while True: — Bezgalīgais cikls. Atkārto kodu, kamēr vien nosacījums ir spēkā (vai līdz to pārtrauc).for lieta in saraksts: — Kolekciju cikls. Automātiski iziet cauri katram saraksta elementam pa vienam.break — Pārtraukšanas komanda. Nekavējoties iziet no cikla pilnībā. Lieliski noder spēles pabeigšanai.continue — Turpināšanas komanda. Pārtrauc pašreizējo soli un uzreiz sāk ciklu no jauna (ignorējot atlikušo kodu). Noder kļūdainas ievades ignorēšanai.Pasargā programmu no "uzkāršanās" (avārijas), ja lietotājs ievada nepareizus datus (piemēram, tekstu ciparu vietā).
try:
skaitlis = int(input("Ievadi ciparu: "))
except ValueError:
print("Kļūda! Ievadi tikai skaitļus, nevis burtus.")
Saraksts [] ļauj saglabāt daudzas vērtības vienā mainīgajā (piemēram, spēlētāja mugursomā).
# Saraksta izveide
inventars = ["Zobens", "Vairogs"]
# Metodes
inventars.append("Dzira") # Pievieno jaunu lietu saraksta beigās
inventars.remove("Zobens") # Izdzēš konkrētu lietu no saraksta
# Piederības operators 'in'
if "Dzira" in inventars:
print("Tev ir atjaunošanās dzira!")