{"id":138,"date":"2018-12-19T17:51:29","date_gmt":"2018-12-19T17:51:29","guid":{"rendered":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/?post_type=chapter&#038;p=138"},"modified":"2025-12-29T10:30:40","modified_gmt":"2025-12-29T10:30:40","slug":"for-tsukkel-funktsioon-range","status":"publish","type":"chapter","link":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/chapter\/for-tsukkel-funktsioon-range\/","title":{"raw":"For-ts\u00fckkel. Funktsioon range","rendered":"For-ts\u00fckkel. Funktsioon range"},"content":{"raw":"Selles peat\u00fckis uurime <em>for<\/em>-ts\u00fcklit, mis on m\u00f5neti sarnane varasemalt \u00f5pitud <em>while<\/em>-ts\u00fckliga. Tutvume funktsiooniga <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">range<\/code>, mida tihti <em>for<\/em>-ts\u00fcklites kasutatakse.\r\n<h2>J\u00e4rjendi \u00fcksiku elemendi kasutamine<\/h2>\r\nTegutseme n\u00fc\u00fcd j\u00e4rjendi konkreetse elemendiga. V\u00f5tame n\u00e4iteks j\u00e4rjendi <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">a = [12, 23, 34, 45, 56]<\/code> elemendi, mille indeks on 3. N\u00e4eme, et <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">a[3]<\/code> v\u00e4\u00e4rtus on 45. Me v\u00f5ime elementi\u00a0 <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">a[3]<\/code> (ja samalaadselt k\u00f5iki teisi elemente) kasutada k\u00fcllaltki iseseisvana. N\u00e4iteks saame neid kasutada avaldistes v\u00f5i muuta nende v\u00e4\u00e4rtusi:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">a = [12, 23, 34, 45, 56]\r\nprint(a[3])\r\nprint(type(a[3]))\r\nprint(a[3] - 32)\r\na[3] = 1\r\nprint(a[3])<\/pre>\r\n<h3>Enesekontroll (1 k\u00fcsimus)<\/h3>\r\n<code>[h5p id=\"18\"]<\/code>\r\n\r\nMe n\u00e4eme, et indeksi v\u00f5ib leida ka arvutuse tulemusena. Oluline on vaid tagada, et indeks ei j\u00e4\u00e4ks j\u00e4rjendi piiridest v\u00e4ljapoole.\r\n<h2>J\u00e4rjend ja <em>while<\/em>-ts\u00fckkel<\/h2>\r\nJ\u00e4rjendi struktuurist on eriti kasu juhul, kui me tahame selle elemente (v\u00f5i mingit osa neist) \u00fcheskoos kasutada.\r\n\r\nOlgu meil \u00fclesandeks tr\u00fckkida j\u00e4rjendi k\u00f5ik elemendid j\u00e4rjestikustele ridadele. Selgelt on see ts\u00fckliline tegevus, milleks saame kasutada <em>while<\/em>-ts\u00fcklit:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">a = [12, 23, 34, 45, 56]\r\ni = 0\r\nwhile i &lt; len(a):\r\n    print(a[i])\r\n    i += 1<\/pre>\r\nKuna viimase elemendi indeks on \u00fche v\u00f5rra v\u00e4iksem kui j\u00e4rjendi pikkus, siis on selline ts\u00fckli tingimus sobiv.\r\n\r\nOlgu meil uus \u00fclesanne: nullida k\u00f5ik elemendid, mille v\u00e4\u00e4rtus on suurem kui 30:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">a = [12, 23, 34, 45, 56]\r\ni = 0\r\nwhile i &lt; len(a):\r\n    if a[i] &gt; 30:\r\n        a[i] = 0\r\n    i += 1\r\nprint(a)<\/pre>\r\n<h2><strong><em>For<\/em>-ts\u00fckkel<\/strong><\/h2>\r\nSageli on meil vaja j\u00e4rjendit just elementhaaval t\u00f6\u00f6delda. Selle jaoks on sobiv <em>for<\/em>-ts\u00fckkel, mis v\u00f5tab igal sammul fookusesse j\u00e4rjendi \u00fche elemendi.\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">a = [12, 23, 34, 45, 56]\r\nfor el in a:        #el asemel on ka teised nimed lubatud \r\n    print(el)<\/pre>\r\n[caption id=\"attachment_139\" align=\"aligncenter\" width=\"140\"]<a href=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2018\/12\/Ndal4_for.png\"><img class=\"wp-image-139 size-medium\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2018\/12\/Ndal4_for-140x300.png\" alt=\"\" width=\"140\" height=\"300\" \/><\/a> Joonis 1. For-ts\u00fckliga elementide v\u00e4ljastamine[\/caption]\r\n<p class=\"vspace\">Muutuja <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">el<\/code><\/code> saab igal ts\u00fckli sammul v\u00e4\u00e4rtuseks j\u00e4rjendi <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">a<\/code> j\u00e4rgmise elemendi. Olemuselt on <em>for<\/em>-ts\u00fckkel <em>while<\/em>-ts\u00fckliga sarnane. Esimesel real on p\u00e4is, mis m\u00e4\u00e4rab, millal ts\u00fckkel l\u00f5petatakse. J\u00e4rgneb taandreaga m\u00e4\u00e4ratud keha (ehk sisu), mida igal sammul t\u00e4idetakse. Ts\u00fcklit korratakse niipalju kordi, kui j\u00e4rjendis on elemente.<\/p>\r\n<p class=\"vspace\">Muutuja <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">el<\/code><\/code> kaudu ei saa muuta j\u00e4rjendi elementide v\u00e4\u00e4rtusi. Kui p\u00fc\u00fcda teha \u00fclaltoodud teisele <em>while<\/em>-ts\u00fcklile analoogi, siis nii j\u00e4\u00e4b <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">a<\/code><\/code> muutmata:<\/p>\r\n\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">a = [12, 23, 34, 45, 56]\r\nfor el in a:\r\n    if el &gt; 30:\r\n        el = 0\r\nprint(a)<\/pre>\r\n[caption id=\"attachment_140\" align=\"aligncenter\" width=\"133\"]<img class=\"wp-image-140 size-medium\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2018\/12\/Ndal4_for2-133x300.png\" alt=\"\" width=\"133\" height=\"300\" \/> Joonis 2. For-ts\u00fckkel, mis ei muuda j\u00e4rjendit[\/caption]\r\n\r\nMitmetes programmeerimiskeeltes on <em>for<\/em>-ts\u00fckkel teistsugune ja Pythoni <em>for<\/em>-ts\u00fcklile sarnast nimetatakse hoopis <em>for-each<\/em>-ts\u00fckliks.\r\n<h2>Range<\/h2>\r\nSageli on meil vaja selliseid ts\u00fckleid, kus ts\u00fcklimuutuja v\u00e4\u00e4rtus teatud reeglite j\u00e4rgi muutub. Meil endalgi on olnud vaja, et n\u00e4iteks <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">i<\/code><\/code> omandaks j\u00e4rjest v\u00e4\u00e4rtusi 0, 1, 2, 3 jne. Siin tuleb appi funktsioon <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">range<\/code>, mis genereerib j\u00e4rjendit meenutava v\u00e4\u00e4rtuse. N\u00e4iteks <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">range(4)<\/code> annab vahemiku, milles on 0, 1, 2 ja 3. Vajadusel v\u00f5ime vastava j\u00e4rjendi moodustada k\u00e4suga <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">list(range(4))<\/code>, aga <em>for<\/em>-ts\u00fckli jaoks seda vaja pole:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">for i in range(4):\r\n    print(i)<\/pre>\r\n<p class=\"vspace\">Kui argumendiks on mittepositiivne arv, siis \u00fchtegi arvu vahemikus pole:<\/p>\r\n\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">for i in range(-4):\r\n    print(i)<\/pre>\r\nVahel pole ts\u00fcklimuutuja v\u00e4\u00e4rtus oluline, kui meid huvitab vaid korduste arv. Siis peab ts\u00fcklimuutuja ikkagi kirjas olema, kuid selle v\u00e4\u00e4rtust ei pea kasutama:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">from turtle import *\r\nfor i in range(4):\r\n    forward(100)\r\n    left(90)\r\nexitonclick()<\/pre>\r\nKui funktsioonile <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">range<\/code> anda kaks argumenti, siis esimene n\u00e4itab seda, millisest arvust alustatakse ja teine seda, millise arvu juures l\u00f5petatakse (seda ennast mitte kaasates).\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">for i in range(1, 4):\r\n    print(i)<\/pre>\r\n<p class=\"vspace\">Kui teine argument ei ole esimesest suurem, siis \u00fchtegi arvu vahemikus pole.<\/p>\r\nKui funktsioonile on antud kolmas argument, siis see n\u00e4itab sammu, mis v\u00f5ib olla ka negatiivne. Nii annab <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">range(0, 13, 2)<\/code> arvud 0, 2, 4, 6, 8, 10, 12 ja <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">range(4, -5, -3)<\/code><\/code> arvud 4, 1, -2.\r\n<h3>Enesekontroll (1 k\u00fcsimus)<\/h3>\r\n<code>[h5p id=\"19\"]<\/code>\r\n<p class=\"vspace\">Muidugi saab erinevates kohtades kasutada muutujaid. Olgu meil \u00fclesandeks teha programm, mis k\u00fcsib kasutajalt kaks t\u00e4isarvu. Seej\u00e4rel kirjutab ekraanile alates esimesest arvust \u00fcle \u00fche k\u00f5ik t\u00e4isarvud kuni teise arvuni (seda mitte kaasates). Lisaks arvutatakse k\u00f5igi v\u00e4ljastatud arvude korrutis.<\/p>\r\nN\u00e4iteks kui sisestatakse 4 ja 12, siis ekraanile v\u00e4ljastatakse:\r\n<pre class=\"vspace EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-linenumbers=\"false\" data-enlighter-theme=\"beyond\">&gt;&gt;&gt;\r\n4 6 8 10 Korrutis on 1920<\/pre>\r\n<p class=\"vspace\">\u00dcks v\u00f5imalik lahendus on selline. Korrutise puhul ei sobi algv\u00e4\u00e4rtuseks 0, sest korrutamine seda ei muudaks.<\/p>\r\n<strong>N\u00e4iteprogramm. Arvude v\u00e4ljastamine ja korrutamine<\/strong>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">algus = int(input(\"Sisestage esimene arv \"))\r\nl\u00f5pp = int(input(\"Sisestage teine arv \"))\r\nkorrutis = 1\r\nfor i in range(algus, l\u00f5pp, 2):\r\n    print(i)\r\n    korrutis *= i\r\nprint(\"Korrutis on \" + str(korrutis))<\/pre>\r\n<h2>Video<\/h2>\r\nVaata ka j\u00e4rjendi ja for-ts\u00fckli videot:\r\n\r\nhttps:\/\/www.youtube.com\/watch?v=VYesEtxSckk","rendered":"<p>Selles peat\u00fckis uurime <em>for<\/em>-ts\u00fcklit, mis on m\u00f5neti sarnane varasemalt \u00f5pitud <em>while<\/em>-ts\u00fckliga. Tutvume funktsiooniga <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">range<\/code>, mida tihti <em>for<\/em>-ts\u00fcklites kasutatakse.<\/p>\n<h2>J\u00e4rjendi \u00fcksiku elemendi kasutamine<\/h2>\n<p>Tegutseme n\u00fc\u00fcd j\u00e4rjendi konkreetse elemendiga. V\u00f5tame n\u00e4iteks j\u00e4rjendi <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">a = [12, 23, 34, 45, 56]<\/code> elemendi, mille indeks on 3. N\u00e4eme, et <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">a[3]<\/code> v\u00e4\u00e4rtus on 45. Me v\u00f5ime elementi\u00a0 <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">a[3]<\/code> (ja samalaadselt k\u00f5iki teisi elemente) kasutada k\u00fcllaltki iseseisvana. N\u00e4iteks saame neid kasutada avaldistes v\u00f5i muuta nende v\u00e4\u00e4rtusi:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">a = [12, 23, 34, 45, 56]\r\nprint(a[3])\r\nprint(type(a[3]))\r\nprint(a[3] - 32)\r\na[3] = 1\r\nprint(a[3])<\/pre>\n<h3>Enesekontroll (1 k\u00fcsimus)<\/h3>\n<p><code><\/p>\n<div id=\"h5p-18\">\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-18\" class=\"h5p-iframe\" data-content-id=\"18\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"J\u00e4rjend-2-\u00fckselement\"><\/iframe><\/div>\n<\/div>\n<p><\/code><\/p>\n<p>Me n\u00e4eme, et indeksi v\u00f5ib leida ka arvutuse tulemusena. Oluline on vaid tagada, et indeks ei j\u00e4\u00e4ks j\u00e4rjendi piiridest v\u00e4ljapoole.<\/p>\n<h2>J\u00e4rjend ja <em>while<\/em>-ts\u00fckkel<\/h2>\n<p>J\u00e4rjendi struktuurist on eriti kasu juhul, kui me tahame selle elemente (v\u00f5i mingit osa neist) \u00fcheskoos kasutada.<\/p>\n<p>Olgu meil \u00fclesandeks tr\u00fckkida j\u00e4rjendi k\u00f5ik elemendid j\u00e4rjestikustele ridadele. Selgelt on see ts\u00fckliline tegevus, milleks saame kasutada <em>while<\/em>-ts\u00fcklit:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">a = [12, 23, 34, 45, 56]\r\ni = 0\r\nwhile i &lt; len(a):\r\n    print(a[i])\r\n    i += 1<\/pre>\n<p>Kuna viimase elemendi indeks on \u00fche v\u00f5rra v\u00e4iksem kui j\u00e4rjendi pikkus, siis on selline ts\u00fckli tingimus sobiv.<\/p>\n<p>Olgu meil uus \u00fclesanne: nullida k\u00f5ik elemendid, mille v\u00e4\u00e4rtus on suurem kui 30:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">a = [12, 23, 34, 45, 56]\r\ni = 0\r\nwhile i &lt; len(a):\r\n    if a[i] &gt; 30:\r\n        a[i] = 0\r\n    i += 1\r\nprint(a)<\/pre>\n<h2><strong><em>For<\/em>-ts\u00fckkel<\/strong><\/h2>\n<p>Sageli on meil vaja j\u00e4rjendit just elementhaaval t\u00f6\u00f6delda. Selle jaoks on sobiv <em>for<\/em>-ts\u00fckkel, mis v\u00f5tab igal sammul fookusesse j\u00e4rjendi \u00fche elemendi.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">a = [12, 23, 34, 45, 56]\r\nfor el in a:        #el asemel on ka teised nimed lubatud \r\n    print(el)<\/pre>\n<figure id=\"attachment_139\" aria-describedby=\"caption-attachment-139\" style=\"width: 140px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2018\/12\/Ndal4_for.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-139 size-medium\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2018\/12\/Ndal4_for-140x300.png\" alt=\"\" width=\"140\" height=\"300\" srcset=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2018\/12\/Ndal4_for-140x300.png 140w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2018\/12\/Ndal4_for-65x139.png 65w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2018\/12\/Ndal4_for.png 188w\" sizes=\"auto, (max-width: 140px) 100vw, 140px\" \/><\/a><figcaption id=\"caption-attachment-139\" class=\"wp-caption-text\">Joonis 1. For-ts\u00fckliga elementide v\u00e4ljastamine<\/figcaption><\/figure>\n<p class=\"vspace\">Muutuja <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">el<\/code><\/code> saab igal ts\u00fckli sammul v\u00e4\u00e4rtuseks j\u00e4rjendi <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">a<\/code> j\u00e4rgmise elemendi. Olemuselt on <em>for<\/em>-ts\u00fckkel <em>while<\/em>-ts\u00fckliga sarnane. Esimesel real on p\u00e4is, mis m\u00e4\u00e4rab, millal ts\u00fckkel l\u00f5petatakse. J\u00e4rgneb taandreaga m\u00e4\u00e4ratud keha (ehk sisu), mida igal sammul t\u00e4idetakse. Ts\u00fcklit korratakse niipalju kordi, kui j\u00e4rjendis on elemente.<\/p>\n<p class=\"vspace\">Muutuja <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">el<\/code><\/code> kaudu ei saa muuta j\u00e4rjendi elementide v\u00e4\u00e4rtusi. Kui p\u00fc\u00fcda teha \u00fclaltoodud teisele <em>while<\/em>-ts\u00fcklile analoogi, siis nii j\u00e4\u00e4b <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">a<\/code><\/code> muutmata:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">a = [12, 23, 34, 45, 56]\r\nfor el in a:\r\n    if el &gt; 30:\r\n        el = 0\r\nprint(a)<\/pre>\n<figure id=\"attachment_140\" aria-describedby=\"caption-attachment-140\" style=\"width: 133px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-140 size-medium\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2018\/12\/Ndal4_for2-133x300.png\" alt=\"\" width=\"133\" height=\"300\" srcset=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2018\/12\/Ndal4_for2-133x300.png 133w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2018\/12\/Ndal4_for2-65x147.png 65w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2018\/12\/Ndal4_for2.png 218w\" sizes=\"auto, (max-width: 133px) 100vw, 133px\" \/><figcaption id=\"caption-attachment-140\" class=\"wp-caption-text\">Joonis 2. For-ts\u00fckkel, mis ei muuda j\u00e4rjendit<\/figcaption><\/figure>\n<p>Mitmetes programmeerimiskeeltes on <em>for<\/em>-ts\u00fckkel teistsugune ja Pythoni <em>for<\/em>-ts\u00fcklile sarnast nimetatakse hoopis <em>for-each<\/em>-ts\u00fckliks.<\/p>\n<h2>Range<\/h2>\n<p>Sageli on meil vaja selliseid ts\u00fckleid, kus ts\u00fcklimuutuja v\u00e4\u00e4rtus teatud reeglite j\u00e4rgi muutub. Meil endalgi on olnud vaja, et n\u00e4iteks <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">i<\/code><\/code> omandaks j\u00e4rjest v\u00e4\u00e4rtusi 0, 1, 2, 3 jne. Siin tuleb appi funktsioon <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">range<\/code>, mis genereerib j\u00e4rjendit meenutava v\u00e4\u00e4rtuse. N\u00e4iteks <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">range(4)<\/code> annab vahemiku, milles on 0, 1, 2 ja 3. Vajadusel v\u00f5ime vastava j\u00e4rjendi moodustada k\u00e4suga <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">list(range(4))<\/code>, aga <em>for<\/em>-ts\u00fckli jaoks seda vaja pole:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">for i in range(4):\r\n    print(i)<\/pre>\n<p class=\"vspace\">Kui argumendiks on mittepositiivne arv, siis \u00fchtegi arvu vahemikus pole:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">for i in range(-4):\r\n    print(i)<\/pre>\n<p>Vahel pole ts\u00fcklimuutuja v\u00e4\u00e4rtus oluline, kui meid huvitab vaid korduste arv. Siis peab ts\u00fcklimuutuja ikkagi kirjas olema, kuid selle v\u00e4\u00e4rtust ei pea kasutama:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">from turtle import *\r\nfor i in range(4):\r\n    forward(100)\r\n    left(90)\r\nexitonclick()<\/pre>\n<p>Kui funktsioonile <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">range<\/code> anda kaks argumenti, siis esimene n\u00e4itab seda, millisest arvust alustatakse ja teine seda, millise arvu juures l\u00f5petatakse (seda ennast mitte kaasates).<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">for i in range(1, 4):\r\n    print(i)<\/pre>\n<p class=\"vspace\">Kui teine argument ei ole esimesest suurem, siis \u00fchtegi arvu vahemikus pole.<\/p>\n<p>Kui funktsioonile on antud kolmas argument, siis see n\u00e4itab sammu, mis v\u00f5ib olla ka negatiivne. Nii annab <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">range(0, 13, 2)<\/code> arvud 0, 2, 4, 6, 8, 10, 12 ja <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">range(4, -5, -3)<\/code><\/code> arvud 4, 1, -2.<\/p>\n<h3>Enesekontroll (1 k\u00fcsimus)<\/h3>\n<p><code><\/p>\n<div id=\"h5p-19\">\n<div class=\"h5p-iframe-wrapper\"><iframe id=\"h5p-iframe-19\" class=\"h5p-iframe\" data-content-id=\"19\" style=\"height:1px\" src=\"about:blank\" frameBorder=\"0\" scrolling=\"no\" title=\"J\u00e4rjend-2-range\"><\/iframe><\/div>\n<\/div>\n<p><\/code><\/p>\n<p class=\"vspace\">Muidugi saab erinevates kohtades kasutada muutujaid. Olgu meil \u00fclesandeks teha programm, mis k\u00fcsib kasutajalt kaks t\u00e4isarvu. Seej\u00e4rel kirjutab ekraanile alates esimesest arvust \u00fcle \u00fche k\u00f5ik t\u00e4isarvud kuni teise arvuni (seda mitte kaasates). Lisaks arvutatakse k\u00f5igi v\u00e4ljastatud arvude korrutis.<\/p>\n<p>N\u00e4iteks kui sisestatakse 4 ja 12, siis ekraanile v\u00e4ljastatakse:<\/p>\n<pre class=\"vspace EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-linenumbers=\"false\" data-enlighter-theme=\"beyond\">&gt;&gt;&gt;\r\n4 6 8 10 Korrutis on 1920<\/pre>\n<p class=\"vspace\">\u00dcks v\u00f5imalik lahendus on selline. Korrutise puhul ei sobi algv\u00e4\u00e4rtuseks 0, sest korrutamine seda ei muudaks.<\/p>\n<p><strong>N\u00e4iteprogramm. Arvude v\u00e4ljastamine ja korrutamine<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">algus = int(input(\"Sisestage esimene arv \"))\r\nl\u00f5pp = int(input(\"Sisestage teine arv \"))\r\nkorrutis = 1\r\nfor i in range(algus, l\u00f5pp, 2):\r\n    print(i)\r\n    korrutis *= i\r\nprint(\"Korrutis on \" + str(korrutis))<\/pre>\n<h2>Video<\/h2>\n<p>Vaata ka j\u00e4rjendi ja for-ts\u00fckli videot:<\/p>\n<p><iframe loading=\"lazy\" id=\"oembed-1\" title=\"Informaatika valikkursus g\u00fcmnaasiumile - J\u00e4rjendid ja for-ts\u00fckkel\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/VYesEtxSckk?feature=oembed&#38;rel=0\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n","protected":false},"author":12,"menu_order":2,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"class_list":["post-138","chapter","type-chapter","status-publish","hentry"],"part":127,"_links":{"self":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/users\/12"}],"version-history":[{"count":12,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/138\/revisions"}],"predecessor-version":[{"id":614,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/138\/revisions\/614"}],"part":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/parts\/127"}],"metadata":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/138\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/media?parent=138"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapter-type?post=138"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/contributor?post=138"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/license?post=138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}