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).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.
[]: Mainīgais, kas satur vairākas vērtības noteiktā secībā. Elementus atdala ar komatu.
# Saraksta izveide
inventars = ["Zobens", "Vairogs", "Dzira"]
while).
# Izies cauri visām lietām un tās izdrukās
for lieta in inventars:
print(f"Somā ir: {lieta}")
.append(elements) — pievieno jaunu elementu saraksta pašās beigās..remove(elements) — izdzēš norādīto elementu no saraksta.in: Ļauj ātri pārbaudīt, vai konkrēta vērtība eksistē sarakstā (atgriež True vai False).Izveido savu pirmo sarakstu un izmanto For ciklu, lai secīgi izvadītu katru tajā esošo priekšmetu.
mugursoma.py.inventars, kurā iekavās [] kā teksta (String) elementus norādi trīs priekšmetus (piemēram, "Lāpa", "Virve", "Maize").print("Tavā mugursomā ir:").for ciklu: for prieksmets in inventars:.print(f"- {prieksmets}")).Izmanto lietotāja ievadi un .append() metodi, lai spēles laikā dinamiski papildinātu saraksta saturu.
dargumi.py un nokopē tajā iepriekšējā uzdevuma sākuma sarakstu.input(), un saglabā to mainīgajā jaunums.inventars.append(jaunums).for ciklu, lai izvadītu atjaunināto inventāra saturu, pārliecinoties, ka jaunā lieta ir pievienota saraksta beigās.Pielieto operatoru in, lai pārbaudītu saraksta saturu un pieņemtu lēmumus spēles gaitā.
durvis.py.kabatas = ["Monēta", "Atslēga", "Akmens"].if "Atslēga" in kabatas:.Apvieno sarakstu metodes ar iepriekš apgūto random moduli, lai noņemtu nejaušu elementu no spēlētāja inventāra.
zaglis.py un pašā augšā ieraksti import random.nozog = random.choice(inventars), lai dators nejauši izvēlētos vienu lietu no saraksta.inventars.remove(nozog), lai šo konkrēto lietu izdzēstu no saraksta.for ciklu, lai parādītu, kas palicis pāri.for ir īslaicīgs, un tas iegūst elementa vērtību katrā solī.
# Slikti (mulsinoši lasīt):
for lietas in lietas:
print(lietas)
# Labi (skaidra loģika):
for lieta in lietas:
print(lieta)
:): Tāpat kā if un while konstrukcijās, arī for cikla rindas beigās obligāti ir jābūt kolam, un nākamajai rindai jābūt iebīdītai (Indentation)..remove() izraisīs programmas avāriju, ja mēģināsi noņemt priekšmetu, kas sarakstā nemaz neeksistē. Drošs kods vispirms pārbauda:
# Slikti (var sabrukt, ja Vairoga nav):
inventars.remove("Vairogs")
# Labi (droša pārbaude pirms noņemšanas):
if "Vairogs" in inventars:
inventars.remove("Vairogs")
# 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}")