Arvutiteaduse instituut
  1. Esileht
  2. Teeme ise arvutimänge
EN
Logi sisse

Teeme ise arvutimänge

  • Esileht
  • I RAAMAT
  • II RAAMAT
    • Otsustamine
    • Tõeväärtused
    • Tingimuse kontroll
      • Mitme tingimuse kontroll 1
      • Mitme tingimuse kontroll 2
    • Tsükkel
      • FOR tsükkel
      • RANGE()
      • Tsüklimuutujad
      • Tsükkel sõnedega
      • AJAMÕÕTJA!
      • WHILE tsükkel
      • Lõpmatu tsükkel
      • Jäta tsükkel pooleli
    • Kommentaarid
    • Kuidas kavandada mängu?
    • Mida õppisid?
  • III RAAMAT
  • IV RAAMAT
  • V RAAMAT
  • VI RAAMAT

Tsükkel

RANGE()

Ava uus Idle aken, kirjuta sinna järgmised read, salvesta laiendiga .py ja pane käima.

Väga hea, kui sa selle koodijupi käima panid, siis ma arvan, et said põhimõttest aru, mida antud kaks rida tegid. Kuid kas see ei jäänud mitte veidi lahjaks? 5 rea korrutustabeli loomine ei ole ju mingi kunsttükk. Arvuti võimsusest teha asju tuhandeid kordi pole siin pea murdosagi kasutatud. Ma tahan, et minu programm arvutaks kõik korrutised 7-ga kuni tuhandeni!

Eelmises näites, me tegime seda aga ainult 5 korda: [1, 2, 3, 4, 5]

Kui ma tahan, et tsükkel kordaks ennast tuhat korda, kas ma pean siis listi kirjutama 1000 arvu?

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, ... ] ohh-oh-oh.... lol

Kindlasti mitte! Selleks programmeerimine ongi, et ei peaks mitte kusagil tegema mõttetut kordavat tööd ning sellisteks juhtudeks on kirjutatud Pythonisse sisse abifunktsioon range().

Range() funktsioon annab listi, mis algab alati nulliga ja lõppeb üks arv enne sulgudesse kirjutatud arvu. Seega tuhandeni kirjutatud korrutustabel tuleb kirjutada nii:

Kui ma peaksin tahtma aga mingit vahemikku, näiteks kõiki korrutisi 20-70ni, siis tuleb teha nii:

Range() funktsiooni sisse kirjutati algus ja lõpp, kusjuures tuleb meelde jätta, et lõpp tuleb kirjutada ühe võrra suuremana, kui tahta, et ka see arv oleks kaasaarvatud.

Range() funktsioonil on aga veel huvitavaid omadusi: proovi järgmist koodi!

Seekord lisasime range() funktsioonile kolmanda argumendi (nii nim. sulgudesse pandud arve). Nimelt sulgudes kolmandal kohal olev arv ütleb range() funktioonile kui mitmes väärtus sellest listist tuleb kasutusele võtta. Kuna näites oli kirjutatud 2, siis võeti korrutustabeli moodustamiseks iga teine arv. Samuti võib võtta iga 3nda või iga 5nda vms.

  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused