Programmēšana • 7. nodarbība

Cikls for un skaitļu virknes

Apgūsti, kā atkārtot darbības ar for, veidot skaitļu virknes ar range() un izmantot ciklus nosacījumos, teksta apstrādē un aprēķinos.

01 • Atkārtojumi

Kad izmantot for?

Cikls for atkārto darbības katrai vērtībai noteiktā secībā. To ir ērti izmantot, ja atkārtojumu skaits vai apstrādājamās vērtības jau ir zināmas.

Atkārto darbību trīs reizes

for reize in range(3):
    print("Sveiki!")
Sveiki! Sveiki! Sveiki!

Mainīgais reize katrā solī saņem nākamo vērtību, bet koda rinda ar atkāpi tiek izpildīta katrai no tām.

Atceries! Cikla bloku raksta ar atkāpi. Kols cikla rindas beigās norāda, ka tālāk sekos atkārtojamās darbības.
02 • Skaitļu diapazoni

Funkcija range()

range() izveido skaitļu virkni, pa kuru cikls var iet. Beigu robeža netiek iekļauta.

Sākums un beigu robeža

for skaititajs in range(1, 6):
    print(skaititajs, end=" ")
1 2 3 4 5

range(1, 6) sākas ar 1 un beidzas pirms 6.

Ja sākums ir 0

for skaititajs in range(5):
    print(skaititajs, end=" ")
0 1 2 3 4

Ja norādīts tikai viens skaitlis, skaitīšana sākas no 0 un apstājas pirms šī skaitļa.

03 • Dažādi soļi

Skaitīšanas solis un virziens

range(sākums, beigas, solis) ļauj norādīt, par cik skaitlis mainās katrā cikla solī. Pozitīvs solis skaita uz priekšu, bet negatīvs — atpakaļ.

Solis 2

for skaititajs in range(2, 11, 2):
    print(skaititajs, end=" ")
2 4 6 8 10

Atpakaļ ar soli -2

for skaititajs in range(10, 1, -2):
    print(skaititajs, end=" ")
10 8 6 4 2
Virzienam jāatbilst solim. Ja skaita atpakaļ, solim jābūt negatīvam. Beigu vērtība joprojām netiek iekļauta.

Skaitītāja vērtības

Mainīgais pēc for nosaukuma katrā reizē saņem nākamo diapazona skaitli. Šajā piemērā skaititajs pēc kārtas ir 2, 4, 6, 8 un 10.

04 • Cikli un zarojumi

Nosacījumi for ciklā

Cikla iekšienē var lietot iepriekš apgūto if un else. Atlikuma operators % ļauj noteikt, vai skaitlis dalās ar 2.

Pāra un nepāra skaitļi

for skaititajs in range(1, 6):
    if skaititajs % 2 == 0:
        print(f"{skaititajs} ir pāra skaitlis")
    else:
        print(f"{skaititajs} ir nepāra skaitlis")
1 ir nepāra skaitlis 2 ir pāra skaitlis 3 ir nepāra skaitlis 4 ir pāra skaitlis 5 ir nepāra skaitlis
05 • Aprēķini

Skaitļu summas aprēķins

Ar katru cikla soli pievieno nākamo skaitli mainīgajam summa.

Summa no 1 līdz 5

summa = 0
for skaititajs in range(1, 6):
    summa = summa + skaititajs
print(f"Summa ir {summa}.")
Summa ir 15.

Sākumā summa ir 0. Pēc katra atkārtojuma tai pieskaita nākamo diapazona vērtību.

06 • Praktizē

Praktiskie uzdevumi

1. Vārda burti

Izmanto for ciklu, lai izdrukātu sava vārda burtus pa vienam.

2. Skaitļu diapazons

Ar range() izvada skaitļus no 1 līdz 20. Pie katra ar if/else norādi, vai tas ir pāra vai nepāra.

3. Dažādi soļi

Izmanto range(), lai izvadītu skaitļus no 3 līdz 15 ar soli 3 un pēc tam atpakaļ no 12 līdz 0 ar soli -3.

4. Summa līdz 100

Aprēķini skaitļu no 1 līdz 100 summu ar for un range().

Komentāru atgādinājums: Komentārā vari paskaidrot, ko nozīmē range() sākums, beigu robeža un solis.
07 • Atceries

Ko esi apguvis?

  • for atkārto darbības katrai vērtībai secībā.
  • range(beigas) sākas no 0, bet range(sākums, beigas) ļauj norādīt sākuma vērtību.
  • range(sākums, beigas, solis) ļauj izvēlēties soli un skaitīšanas virzienu; beigu robeža netiek iekļauta.
  • Cikla skaitītājs katrā solī saņem nākamo vērtību.
  • for ciklā var izmantot nosacījumus un uzkrāt aprēķinu rezultātus.
08 • Pārbaudi zināšanas

Pašpārbaudes tests

Pārbaudi savas zināšanas par for cikliem un range()!