5. tēma: Kolekcijas un Lietotāju viedoklis. 3. stunda: For cikli.

Tavs šīs stundas izaicinājums: Pārveidot datu "jucekli" par skaistu saskarni. Tu iemācīsies izmantot for ciklus, lai "izķemmētu" sarakstus un vārdnīcas, parādot spēlētājam glītu inventāru, statusa ziņojumus un aprēķinot spēles progresu automātiski.

SR 2.4.14. (Ciklu izmantošana datu apstrādei)

Teorija: Iterācija (pārlūkošana)

Iterācija ir process, kurā dators izpilda vienu un to pašu koda bloku katram kolekcijas elementam. Tas ir kā pārskaitīt visas monētas makā vienu pēc otras, nezinot iepriekš, cik to tur būs.

Sintakse Pielietojums Rezultāts
for x in saraksts: Sarakstiem Piekļūst katram elementam (x) pēc kārtas.
for a, v in dict.items(): Vārdnīcām Ļauj izmantot gan atslēgu (a), gan vērtību (v) vienlaicīgi.
for a in dict.keys(): Vārdnīcām Piekļūst tikai nosaukumiem (atslēgām).

Atkāpju (Indentation) nozīme

Viss kods, kas atrodas "zem" for rindas un ir nobīdīts pa labi (4 atstarpes jeb 1 Tab), tiks atkārtots. Tiklīdz Tu beidz rakstīt ar atkāpi, cikls beidzas, un dators turpina lasīt kodu tālāk tikai vienreiz.

Praktiskie uzdevumi

1. uzdevums: Glītais inventārs (Saraksti)

  1. VS Code izveido failu saraksts_cikls.py.
  2. Definē sarakstu inventars ar vismaz 4 priekšmetiem.
  3. Pirms cikla izveido skaitītāju: nr = 1.
  4. Izmanto for manta in inventars:, lai izvadītu katru lietu formātā: "1. [manta]".
  5. Neaizmirsti cikla iekšpusē palielināt skaitītāju: nr += 1!

2. uzdevums: Varoņa HUD (Vārdnīcas)

  1. Izveido failu statusa_logs.py ar vārdnīcu varonis (Vārds, HP, Zelts).
  2. Izmanto for atslega, vertiba in varonis.items():, lai piekļūtu abiem datiem reizē.
  3. Izvadi tos terminālī kā tabulas rindas (piemēram, HP ----> 100).
  4. Pievieno dekoratīvas svītras print("=====") pirms un pēc cikla, lai izveidotu glītu rāmīti (šīm rindām jābūt bez atkāpes!).

3. uzdevums: Mantas meklētājs un summas

  1. Izveido failu analize.py ar sarakstu cenas = [10, 55, 20, 80].
  2. Izveido mainīgo summai: kopa = 0.
  3. Ciklā (for cena in cenas:) pieskaiti katru vērtību pie kopa.
  4. Tajā pašā ciklā pievieno pārbaudi: if cena > 50: izvadi "Atrasta dārga manta!".
  5. Ārpus cikla izvadi kopējo summu un vidējo cenu (kopsumma dalīta ar len(cenas)).

Biežākās kļūdas:

1. Pazudis kols: Neaizmirsti : rindas beigās pēc for teikuma.
2. Atkāpes kļūda: Ja kods nav nobīdīts pa labi, Python nezinās, ka tam jābūt cikla daļai un izpildīs to tikai vienreiz.
3. Items aizmirstība: Mēģinot iet cauri vārdnīcai bez .items() (tikai for x in vardnica:), Tu iegūsi tikai atslēgu nosaukumus, nevis pašus datus.

Koda paraugs

# Glīta vārdnīcas izvade
statistika = {"Zelts": 150, "HP": 85, "XP": 1200}

print("--- TAVA STATISTIKA ---")
for nosaukums, skaitlis in statistika.items():
    # Lietojam .upper(), lai atslēgas būtu ar lielajiem burtiem
    print(f"{nosaukums.upper()}: {skaitlis}")
    
print("-----------------------")
--- TAVA STATISTIKA ---
ZELTS: 150
HP: 85
XP: 1200
-----------------------
⬅ Iepriekšējā stunda Nākamā stunda ➡