3. tēma: 3.5 Saraksti un For cikli

Tavs šīs stundas izaicinājums: Izveidot datu kolekcijas, apstrādāt vairākus elementus vienlaicīgi un pielietot For ciklu, lai automatizētu spēles inventāra pārvaldību.

2.4.16. Lieto saliktas datu struktūras (saraksti, vārdnīcas).
2.4.14. Izmanto algoritmu vadības struktūras (sazarojumi, cikli).

Teorija: Datu kolekcijas un iterācijas

Līdz šim vienā mainīgajā varējām saglabāt tikai vienu vērtību. Lai izveidotu spēlētāja mugursomu (inventāru), mums nepieciešama datu struktūra, kas spēj saturēt daudz elementu vienlaicīgi.

1. uzdevums: Varoņa mugursoma

Izveido savu pirmo sarakstu un izmanto For ciklu, lai secīgi izvadītu katru tajā esošo priekšmetu.

Izpildes soļi:

  1. VS Code izveido failu mugursoma.py.
  2. Definē sarakstu inventars, kurā iekavās [] kā teksta (String) elementus norādi trīs priekšmetus (piemēram, "Lāpa", "Virve", "Maize").
  3. Izvadi vispārīgu paziņojumu: print("Tavā mugursomā ir:").
  4. Izveido for ciklu: for prieksmets in inventars:.
  5. Cikla iekšienē (ar atkāpi) izvadi katru priekšmetu, pievienojot dekoratīvu elementu (piem., print(f"- {prieksmets}")).
  6. Palaid kodu un pārliecinies, ka priekšmeti izvadās katrs savā rindā.

2. uzdevums: Dārgumu lādes atvēršana

Izmanto lietotāja ievadi un .append() metodi, lai spēles laikā dinamiski papildinātu saraksta saturu.

Izpildes soļi:

  1. Izveido failu dargumi.py un nokopē tajā iepriekšējā uzdevuma sākuma sarakstu.
  2. Pievieno programmai tekstu par to, ka spēlētājs atrod dārgumu lādi.
  3. Pieprasi lietotājam ievadīt priekšmetu, ko viņš paņem no lādes, izmantojot input(), un saglabā to mainīgajā jaunums.
  4. Pievieno šo mainīgo sarakstam, izmantojot inventars.append(jaunums).
  5. Programmas beigās atkal izmanto for ciklu, lai izvadītu atjaunināto inventāra saturu, pārliecinoties, ka jaunā lieta ir pievienota saraksta beigās.

3. uzdevums: Slēgtās durvis (Pārbaude sarakstā)

Pielieto operatoru in, lai pārbaudītu saraksta saturu un pieņemtu lēmumus spēles gaitā.

Izpildes soļi:

  1. Izveido failu durvis.py.
  2. Definē sarakstu kabatas = ["Monēta", "Atslēga", "Akmens"].
  3. Izvadi stāsta tekstu: "Tu nonāc pie slēgtām dzelzs durvīm."
  4. Izmanto If zarošanos ar piederības operatoru: if "Atslēga" in kabatas:.
  5. Ja nosacījums izpildās (True), izvadi tekstu, ka durvis ir atvērtas. Else blokā izvadi tekstu, ka durvis paliek slēgtas un nepieciešams atrast atslēgu.
  6. Nomaini "Atslēga" pret ko citu savā sākotnējā sarakstā un pārbaudi, vai Else bloks nostrādā.
  7. Iesūtīt uzdevuma github saiti e-klasē.

Papildus uzdevums: Negaidīts zaglis (Random integrācija)

Apvieno sarakstu metodes ar iepriekš apgūto random moduli, lai noņemtu nejaušu elementu no spēlētāja inventāra.

Izpildes soļi:

  1. Izveido failu zaglis.py un pašā augšā ieraksti import random.
  2. Izveido sākuma inventāru ar vismaz 4 priekšmetiem.
  3. Izmanto nozog = random.choice(inventars), lai dators nejauši izvēlētos vienu lietu no saraksta.
  4. Izmanto inventars.remove(nozog), lai šo konkrēto lietu izdzēstu no saraksta.
  5. Izvadi dramatisku paziņojumu (ar f-string), kas informē spēlētāju par to, kuru tieši priekšmetu zaglis ir paņēmis, un izmanto for ciklu, lai parādītu, kas palicis pāri.

Biežākās kļūdas (un kā tās labot):

Koda piemērs: Operācijas ar sarakstu

# Saraksta inicializācija
inventars = ["Karte", "Dzira"]

# Pievienošana
inventars.append("Atslēga")

# Pārbaude ar zarošanos
if "Atslēga" in inventars:
    print("Tu vari atvērt durvis!")

# Izvadīšana ar For ciklu
print("\nTavas mantas:")
for lieta in inventars:
    print(f">> {lieta}")
Tu vari atvērt durvis!

Tavas mantas:
>> Karte
>> Dzira
>> Atslēga
⬅ Iepriekšējā stunda Nākamā stunda ➡