Tavs šīs stundas izaicinājums: Izveidot spēles dzinēju, kas turpina darboties neatkarīgi no viena gājiena beigām. Tu iemācīsies lietot ciklus un strukturēt koda atkārtošanos, izmantojot plūsmas kontroles rīkus.
2.4.14. Izmanto algoritmu vadības struktūras (sazarojumi, cikli).Loops (Cikli) ļauj atkārtot koda bloku vairākas reizes, neatkārtojot pašu kodu. While loop (Kamēr cikls) darbojas tik ilgi, kamēr tā nosacījums ir True (Patiess).
# Cikls izpildīsies 3 reizes
dzivibas = 3
while dzivibas > 0:
print("Spēlējam!")
dzivibas -= 1
while nosacījums joprojām ir True. Lieliski noder spēles pabeigšanai.
while True:
ievade = input("Raksti 'stop': ")
if ievade == "stop":
break # Cikls beidzas šeit un programma turpinās tālāk
while True:
vards = input("Vārds: ")
if vards == "":
continue # Ignorē tukšu ievadi un prasa vārdu no jauna
print(f"Sveiks, {vards}!")
Drošības padoms: Ja tava programma iesprūst Infinite loop (Bezgalīgajā ciklā) un nekad nebeidzas, terminālī nospied Ctrl + C, lai to apturētu piespiedu kārtā!
Izmanto While loop (Kamēr ciklu), lai atkārtoti pieprasītu lietotāja ievadi, līdz tiek saņemta pareiza informācija.
parole.py.pareiza_parole = "Python123".while True:.pareiza_parole, izmanto komandu break.Pielieto Break un Continue, lai radītu kontrolējamu programmas plūsmu un ignorētu kļūdainu ievadi.
cikls_tiesnesis.py.while True: cikla (pārliecinies, ka visam kodam iekšpusē ir pareizas atkāpes).break).""), izmanto komandu continue, lai cikls sāktos no jauna un lietotājs varētu mēģināt vēlreiz bez kļūdu paziņojumiem.Izmanto cikla nosacījumu ar loģiskajiem operatoriem, lai ierobežotu raundu skaitu un uzturētu spēles stāvokli.
duelitis_v3.py.p_cilveks un p_dators.while p_cilveks < 3 and p_dators < 3:.p_cilveks += 1).while nosacījums nekad nekļūst False un ciklā nav break, programma iestrēgs. Vienmēr pārliecinies, ka cikla iekšpusē mainīgie tiek atjaunināti!
# Slikti (iestrēgst mūžīgi, jo i vienmēr paliek 0):
i = 0
while i < 5:
print(i)
# Labi (i palielinās, un cikls beigsies):
i = 0
while i < 5:
print(i)
i += 1
break / continue: Šīm komandām jāatrodas stingri zem if pārbaudes. Ja tās būs nepareizā līmenī, cikls var apstāties jau pašā pirmajā iterācijā bez iemesla.break: Jebkura komanda, kas ierakstīta tieši zem break (tajā pašā atkāpes līmenī), nekad netiks izpildīta.
# Slikti (print nekad nenostrādās):
if parole == "123":
break
print("Pareizi!")
# Labi:
if parole == "123":
print("Pareizi!")
break
# Cikla kontroles paraugs ar spēlētāja izvēli
while True:
minejums = input("Uzmini skaitli (vai raksti 'stop'): ")
# Iziet no cikla pilnībā
if minejums.lower() == "stop":
print("Spēle pārtraukta.")
break
# Pārlēkt uz nākamo iterāciju, ignorējot tālāko kodu
if minejums == "":
print("Ievade nevar būt tukša!")
continue
print(f"Tu minēji: {minejums}")