Kā cikls atkārto darbības?
Cikls ļauj atkārtot koda darbības. Lai saprastu, kāpēc ciklam vajadzīgs apstāšanās nosacījums, vispirms aplūkosim ciklu, kas nebeidzas.
Šajā nodarbībā pētīsim, kā while nosacījums nosaka, vai cikls sākas un kad tas apstājas.
Kāpēc bezgalība ciklā nav vēlama?
Šajā piemērā nosacījums vienmēr ir patiess, tāpēc programma turpina drukāt tekstu un cikls nebeidzas pats no sevis.
Bezgalīgs while cikls — piemēru tikai izlasi
while True:
print("Cikls turpinās...")Šo piemēru nepalaid darbībā. Tas nepārtraukti izvada tekstu, aizņem datora resursus un neļauj programmai pāriet pie nākamajām darbībām. Terminālī to parasti var pārtraukt ar Ctrl+C, taču lietotājam tas ir neērti un var traucēt citām programmām.
Kad while sākas un kad apstājas?
while False: cikls nesākas
Nosacījumu pārbauda pirms pirmās iterācijas. Tā kā False ir aplams, cikla ķermenis tiek izlaists.
while False:
print("Šis teksts neparādīsies")
print("Cikls tika izlaists.")while True: cikls neapstājas pats
True vienmēr ir patiess. Ja nosacījums netiek mainīts un ciklā nav pārtraukšanas, darbības atkārtojas bezgalīgi.
while True:
print("Atkārtojas")Šis ir bezgalīga cikla piemērs. To nepalaid darbībā.
Skaitītājs ar while
Skaitītājs ir mainīgais, kas seko līdzi cikla atkārtojumiem. To maina katrā solī, lai programma sasniegtu apstāšanās nosacījumu.
Skaitīšana uz priekšu
skaititajs = 1
while skaititajs <= 5:
print(skaititajs, end=" ")
skaititajs = skaititajs + 1
print("\nCikls beidzās.")Sākumā skaitītājs ir 1. Katrā reizē to palielina par 1. Kad tas kļūst 6, nosacījums vairs nav patiess un cikls apstājas.
Skaitīšana atpakaļ
atlikusas_sekundes = 3
while atlikusas_sekundes > 0:
print(atlikusas_sekundes)
atlikusas_sekundes = atlikusas_sekundes - 1
print("Starts!")Šoreiz skaitītājs katrā cikla solī samazinās par 1.
Nosacījumi cikla iekšienē
Cikla iekšienē var izmantot iepriekš apgūto if un else. Atlikuma operators % palīdz noteikt, vai skaitlis dalās ar 2.
Pāra un nepāra skaitļi
skaititajs = 1
while skaititajs <= 5:
if skaititajs % 2 == 0:
print(f"{skaititajs} ir pāra skaitlis")
else:
print(f"{skaititajs} ir nepāra skaitlis")
skaititajs = skaititajs + 1Skaitļu summas aprēķins ar while
Skaitītājs nosaka nākamo pieskaitāmo skaitli, bet summa uzkrāj rezultātu.
Skaitļu summa no 1 līdz 5
skaititajs = 1
summa = 0
while skaititajs <= 5:
summa = summa + skaititajs
skaititajs = skaititajs + 1
print(f"Summa ir {summa}.")Praktiskie uzdevumi
1. Pārbaudi while False
Izveido ciklu ar nosacījumu False. Pievieno pēc cikla rindu, kas parāda, ka programma turpinās.
2. Skaitīšana uz priekšu un atpakaļ
Ar while skaiti no 1 līdz 5, pēc tam no 5 līdz 1. Maini skaitītāju pareizajā virzienā.
3. Pāra skaitļi
Izmanto while un if/else, lai pārbaudītu skaitļus no 1 līdz 20 un atzīmētu pāra skaitļus.
4. Summa līdz 100
Aprēķini skaitļu no 1 līdz 100 summu ar while ciklu un mainīgo, kas uzkrāj rezultātu.
while True. Pārliecinies, ka ciklam ir skaidrs beigu nosacījums.while cikls apstātos.Ko esi apguvis?
whilepārbauda nosacījumu pirms katra cikla soļa: arFalsecikls nesākas, bet nemainīgsTruecikls nebeidzas pats.- Bezgalīgs cikls var nepārtraukti izvadīt datus, aizņemt resursus un apturēt pārējās programmas darbības.
- Skaitītāju ciklā var palielināt vai samazināt, lai nosacījums kļūtu aplams un cikls apstātos.
- Ciklā var izmantot zarojumus, aritmētiku un mainīgos rezultāta uzkrāšanai.
Pašpārbaudes tests
Pārbaudi savas zināšanas par while cikliem un skaitītājiem!