3. Teema Kordused

Mis on tsükkel?

Tsükkel ehk loop võimaldab koodi plokki korrata mitu korda järjest. Pythonis kasutatakse selleks peamiselt kahte tüüpi tsükleid:

  • while-tsükkel – töötab seni, kuni mingi tingimus kehtib
  • for-tsükkel – kordab kindla arvu kordi või läbib kõiki elemente kogumis (nt loendis)

while-tsükkel praktikas

while tsüklit kasutatakse sageli olukorras, kus ei teata täpset korduste arvu ette.

Näiteks:

while True:
    # tegevused korduvad lõpmatult

See loob lõpmatu tsükli, mida saab katkestada käsuga break.

Tsükli katkestamine break käsuga:




vastus = input("Sisesta arv: ")
if vastus == "stop":
    break

Siin lõpetatakse tsükkel, kui kasutaja kirjutab stopp.


Näide: matemaatikamäng tsüklis




from random import randint, choice

total = 0
correct = 0

while True:
    total += 1
    arv1 = randint(1, 10)
    arv2 = randint(1, 10)
    tehe = choice(["+", "-", "*"])
    
    if tehe == "+":
        õige = arv1 + arv2
    elif tehe == "-":
        õige = arv1 - arv2
    else:
        õige = arv1 * arv2

    vastus = input(f"Mis on {arv1} {tehe} {arv2}? (või kirjuta 'exit'): ")
    if vastus == "exit":
        break

    if int(vastus) == õige:
        print("Õige!")
        correct += 1
    else:
        print(f"Vale. Õige vastus oli {õige}")

Korduste jälgimine

Koodi alguses:

total = 0
correct = 0

Iga korduse alguses:

total += 1

Kui vastus on õige:

correct += 1

Lõpuks – tulemus

Kui tsükkel katkestatakse, saab arvutada tulemuse:

if total > 0:
    protsent = (correct / total) * 100
    print(f"Tulemus: {protsent:.1f}%")

Ja määrata hinne:

if protsent < 60:
    hinne = 2
elif protsent < 75:
    hinne = 3
elif protsent < 90:
    hinne = 4
else:
    hinne = 5

print(f"Sinu hinne: {hinne}")

Kokkuvõte

Kordused on olulised, kui on vaja teha midagi mitu korda järjest:

  • while-tsükkel töötab seni, kuni tingimus on tõene
  • break katkestab tsükli käsitsi
  • Tsükli sees saab:
    • luua uusi andmeid
    • võtta kasutajalt sisendit
    • jälgida tulemusi ja statistikat
    • anda tagasisidet või hinnata sooritust

Need omadused muudavad programmid paindlikuks ja interaktiivseks.