5. tēma: Kolekcijas un Lietotāju viedoklis. 2. stunda: Vārdnīcas.

Tavs šīs stundas izaicinājums: Piešķirt savam varonim personību. Tu iemācīsies izmantot vārdnīcas (dict), lai glabātu datus, kuriem var piekļūt pēc nosaukuma, nevis tikai pēc kārtas numura. Tas ir labākais veids, kā aprakstīt spēlētāja profilu, ienaidniekus vai inventāra īpašības.

SR 2.4.14. (Vārdnīcu lietošana un datu tipi)

Teorija: Vārdnīcas (Dictionary)

Vārdnīca ir datu kolekcija, kurā katram elementam ir unikāla atslēga (Key) un tai piesaistīta vērtība (Value). Tās definē, izmantojot figūriekavas {}.

Darbība Apraksts Piemērs
Definēšana Lieto { "atslēga": "vērtība" } p = {"hp": 100}
Piekļuve Izmanto kvadrātiekavas un atslēgu. print(p["hp"])
Mainīšana Piešķir jaunu vērtību esošai atslēgai. p["hp"] = 90
Pievienošana Izveido jaunu, iepriekš nebijušu atslēgu. p["zelts"] = 50

Saraksts vai Vārdnīca?

Praktiskie uzdevumi

1. uzdevums: Varoņa pase

  1. VS Code izveido failu pase.py.
  2. Izveido vārdnīcu speletajs ar trīs atslēgām: vards, klase un limenis.
  3. Izvadi ziņojumu, izmantojot f-string: "Sveiks, [vards]! Tavs amats ir [klase].".
  4. Pievieno jaunu atslēgu serveris ar vērtību "Eiropa".
  5. Izvadi visu vārdnīcu terminālī un pārliecinies, ka dati ir pievienoti.

2. uzdevums: Cīņas simulācija

  1. Izveido failu cina.py ar vārdnīcu: stats = {"hp": 100, "brunis": 15}.
  2. Pajautā lietotājam: "Cik lielu triecienu saņēma varonis?".
  3. Aprēķini zaudētos HP: trieciens - stats["brunis"] (ja rezultāts ir negatīvs, uzskati to par 0).
  4. Atjauno hp vērtību vārdnīcā un paziņo: "Tev palika [skaits] dzīvības!".
  5. Pārbaudi: ja HP kļūst 0 vai mazāk, izvadi "Game Over".

3. uzdevums: Inventārs vārdnīcā

  1. Izveido failu profils_plus.py.
  2. Izveido vārdnīcu, kurā viena no atslēgām ir soma, un tās vērtība ir saraksts: ["maize", "ūdens"].
  3. Pajautā lietotājam, ko viņš atrada dārgumu lādē.
  4. Pievieno atradumu sarakstam, kas atrodas vārdnīcas iekšienē (izmanto varonis["soma"].append(jauna_manta)).
  5. Izvadi ziņojumu: "Tavā somā tagad ir [skaits] lietas, ieskaitot jauno [atradums]!".

Biežākās kļūdas:

1. KeyError: Tu mēģini piekļūt atslēgai, kuras nav vārdnīcā (pārbaudi drukas kļūdas!).
2. Figūriekavas: Definējam ar {}, bet piekļūstam datiem ar [].
3. Kolons vs Komats: Atslēgu no vērtības atdala :, bet pārus vienu no otra atdala ,.

Koda paraugs

# Spēlētāja profils
varonis = {
    "vards": "Drosmīgais",
    "zelts": 10,
    "inventars": ["lāpa"]
}

# Zelts palielinās
varonis["zelts"] += 5

# Pievienojam mantu sarakstam, kas ir vārdnīcā
varonis["inventars"].append("ābols")

print(f"{varonis['vards']} tagad ir {varonis['zelts']} zelta gabali.")
print(f"Somas saturs: {varonis['inventars']}")
Drosmīgais tagad ir 15 zelta gabali.
Somas saturs: ['lāpa', 'ābols']
⬅ Iepriekšējā stunda Nākamā stunda ➡