<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="https://peda.net/:static/543/atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Tunti 11 For silmukka</title>
<id>https://peda.net/id/f8ba28524ac</id>
<updated>2021-11-21T14:31:37+02:00</updated>
<link href="https://peda.net/id/f8ba28524ac:atom" rel="self" />
<link href="https://peda.net/p/timo.laitinen/oppimateriaalituotanto-2021-syksy/tunnit-9-10-silmukat/tunti-12-forsilmukat#top" rel="alternate" />
<logo>https://peda.net/:static/543/peda.net.logo.bg.svg</logo>
<rights type="html">&lt;div class=&quot;license&quot;&gt;Tämän sivun lisenssi &lt;a rel=&quot;license noopener&quot; href=&quot;https://peda.net/info&quot; target=&quot;_blank&quot;&gt;Peda.net-yleislisenssi&lt;/a&gt;&lt;/div&gt;&#10;</rights>

<entry>
<title>For silmukka</title>
<id>https://peda.net/id/f8ba80c34ac</id>
<updated>2021-11-21T13:59:49+02:00</updated>
<link href="https://peda.net/p/timo.laitinen/oppimateriaalituotanto-2021-syksy/tunnit-9-10-silmukat/tunti-12-forsilmukat/for-silmukka#top" />
<content type="html">While -silmukan lisäksi Python -ohjelmointikielessä on &lt;b&gt;for -silmukka&lt;/b&gt;. While -silmukan lailla for -silmukka toistaa jotakin asiaa useampaan kertaan. For -silmukka toistaa jotakin asiaa sille annettujen rajojen mukaisesti. Allaolevassa esimerkissä käytetään &lt;strong class=&quot;editor red&quot;&gt;&lt;b&gt;range&lt;/b&gt;&lt;/strong&gt; -funktiota määräämään silmukan toistokerrat. Range -funktiolle voidaan antaa sulkujen sisään yksi, kaksi tai kolme lukua. &lt;b&gt;Yhden luvun&lt;/b&gt; tapauksessa for -silmukka tulkitsee toistojen alkavan luvusta 0 ja päättyvän annettuun lukuun, &lt;b&gt;kahden luvun&lt;/b&gt; tapauksessa ensimmäinen luku on luku, josta suoritus alkaa ja toinen luku, johon päätetään. Tätä käytetään esimerkissä 1. Kolmen luvun tapauksessa aiemmin esitetty kahden luvun tapaus pätee ja kolmas luku määrää askelten pituuden, tästä esimerkissä 2.&lt;br/&gt;&#10;&lt;br/&gt;&#10;For -silmukan rakenne: Ensimmäisenä tulee termi &amp;quot;&lt;b&gt;for&lt;/b&gt;&amp;quot;, joka osoittaa for -silmukan alun. Seuraavana esitellään muuttuja &amp;quot;luku&amp;quot; (joka voi olla mitä vain, Esimerkki 1. tapauksessa se on 'k'), jonka avulla käydään läpi silmukan annettujen rajojen suoritus. Seuraavaksi tulee &amp;quot;&lt;strong class=&quot;editor red&quot;&gt;&lt;b&gt;in&lt;/b&gt;&lt;/strong&gt;&amp;quot; sana, joka kuvastaa aiemman &amp;quot;luku&amp;quot; -muuttujan yhteyttä jälkimmäiseen range -funktioon, taulukkoon tai listaan. Viimeisenä tulee silmukan pituuden määritys, allaolevassa esimerkissä range(0,5) -funktio, joka kuvastaa viiden kokonaisluvun joukkoa. Muissa ohjelmointikielissä pythonin for-silmukka on nimeltään foreach -silmukka. Muiden kielien tapauksessa for -silmukka on hieman erilainen pythoniin verrattuna. &lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;span class=&quot;editor underline&quot;&gt;For -lausekkeen rakenne on:&lt;/span&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;for luku in range(0,5):&lt;/b&gt;&lt;br/&gt;&#10;&lt;b&gt; print(luku)&lt;/b&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;Silmukan sisällä tapahtuvaa (näkymätöntä), ensimmäinen kierros:&lt;br/&gt;&#10;for luku in range(0,5):&lt;br/&gt;&#10; luku = 0 &amp;lt;---tämän kohdan python piilottaa, sijoitetaan luku -muuttujaan joukon ensimmäinen luku.&lt;br/&gt;&#10; print(luku)&lt;br/&gt;&#10;&lt;br/&gt;&#10;luku -muuttujaan sijoitetaan joukon ensimmäinen luku (range(0,5) tapauksessa 0) ja tämä tulostetaan, siirrytään silmukan uuteen kierrokseen, jolloin luku- muuttujaan sijoitetaan joukon toinen termi ja tämä tulostetaan (esimerkin tapauksessa 1). Tätä toistetaan, kunnes joukon jokainen alkio on tulostettu. Huomaa, range(0,&lt;b&gt;5&lt;/b&gt;) toistaa lopetuslukua &lt;b&gt;yhtä pienempään&lt;/b&gt; lukuun, koska range -funktio alkaa numerosta 0 ja numeron 4 kohdalla on käyty läpi viisi kokonaislukua, range(0,5) -kuvastaa siis viiden kokonaisluvun joukkoa.&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;Esimerkki 1. &lt;/strong&gt;Käytetään range -funktiota määräämään toistokerrat. Huomaa, että range(0,&lt;b&gt;5&lt;/b&gt;) toistaa&lt;br/&gt;&#10;lopetuslukua &lt;b&gt;yhtä pienempään&lt;/b&gt; lukuun, sillä se alkaa jo nollasta.&lt;br/&gt;&#10;&lt;iframe src=&quot;https://trinket.io/embed/python3/e52ef2e317&quot; width=&quot;100%&quot; height=&quot;170&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;/iframe&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Tehtävä 1. &lt;/b&gt;Tee ohjelma, joka tulostaa luvut välillä -2 ja 10.&lt;br/&gt;&#10;&lt;iframe src=&quot;https://trinket.io/embed/python3/301ec33b32&quot; width=&quot;100%&quot; height=&quot;200&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;/iframe&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Tehtävä 2.&lt;/b&gt; Tee ohjelma, joka pyytää käyttäjältä syötteeksi positiivisen kokonaisluvun ja tulostaa peräkkäisten positiivisten kokonaislukujen summan kyseiseen lukuun saakka.&lt;br/&gt;&#10;&lt;iframe src=&quot;https://trinket.io/embed/python3/301ec33b32&quot; width=&quot;100%&quot; height=&quot;200&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;/iframe&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;Esimerkki 2. &lt;/strong&gt;Range -funktioon voidaan määrätä myös askelten pituus.&lt;br/&gt;&#10;&lt;iframe src=&quot;https://trinket.io/embed/python3/41d62c25b7&quot; width=&quot;100%&quot; height=&quot;170&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;/iframe&gt;&#10;&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;&lt;br/&gt;&#10;&lt;/strong&gt;&lt;b&gt;Tehtävä 3. &lt;/b&gt;Tee ohjelma, joka tulostaa silmukan avulla numerot numerosta 7 alkaen korkeintaan lukuun 144, kuuden välein. &lt;strong class=&quot;editor red&quot;&gt;&lt;br/&gt;&#10;&lt;/strong&gt;&#10;&lt;iframe src=&quot;https://trinket.io/embed/python3/301ec33b32&quot; width=&quot;100%&quot; height=&quot;200&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;/iframe&gt;&#10;&lt;!-- removed: br --&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;Ensimmäisessä esimerkissä käytettiin range -funktiota määräämään for -silmukan suorituskerrat. For -silmukan avulla voidaan myös läpikäydä &lt;b&gt;listoja&lt;/b&gt; ja &lt;b&gt;taulukoita. &lt;/b&gt;Molempien, listan sekä taulukon ensimmäiseen jäseneen eli &lt;b&gt;alkioon&lt;/b&gt; viitataan numerolla nolla, seuraavaan numerolla yksi, kasvaen aina yhdellä. Näin ollen, kun meillä on taulukko:&lt;br/&gt;&#10;&lt;br/&gt;&#10;numerotaulukko = [4,5,6,3,1,9]&lt;br/&gt;&#10;print(numerotaulukko[0])&lt;br/&gt;&#10;tulostaa meille 4, koska nollannes alkio taulukossa 'numerotaulukko' on 4.&lt;br/&gt;&#10;Print(numerotaulukko[3])&lt;br/&gt;&#10;tulostaa meille 3, koska kolmannes alkio taulukossa 'numerotaulukko on' 3.&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt; &lt;br/&gt;&#10;&lt;br/&gt;&#10;Esimerkki 3. &lt;/strong&gt;For -silmukalla voidaan läpikäydä taulukoita. Huomaa: risuaita # merkki aloittaa &lt;b&gt;k&lt;/b&gt;&lt;b&gt;ommentit&lt;/b&gt;, joiden avulla pyritään selventämään koodia.&lt;br/&gt;&#10;&lt;iframe src=&quot;https://trinket.io/embed/python3/3d81e8729f&quot; width=&quot;100%&quot; height=&quot;170&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;/iframe&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Tehtävä 4. &lt;/b&gt;Tulosta listan alkiot tulostamalla koko lista.&lt;br/&gt;&#10;&lt;iframe src=&quot;https://trinket.io/embed/python3/afe38dee2f&quot; width=&quot;100%&quot; height=&quot;200&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;/iframe&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;Esimerkki 4.&lt;/strong&gt; For -silmukan avulla voidaan myös muuttaa listoja.&lt;br/&gt;&#10;&lt;iframe src=&quot;https://trinket.io/embed/python3/cf03d93a4a&quot; width=&quot;100%&quot; height=&quot;170&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;/iframe&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Tehtävä 5.&lt;/b&gt; Tee ohjelma, joka pyytää käyttäjältä ensin viittä numeroa silmukassa, tallentaa arvot listaan ja kertoo listan alkiot itsellään sekä tulostaa muutetun listan.&lt;br/&gt;&#10;&lt;iframe src=&quot;https://trinket.io/embed/python3/5e92090641&quot; width=&quot;100%&quot; height=&quot;200&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;/iframe&gt;&#10;&lt;!-- removed: br --&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;Esimerkki 5.&lt;/strong&gt; Silmukka silmukan sisällä.&lt;br/&gt;&#10;&lt;iframe src=&quot;https://trinket.io/embed/python3/6aebce7cd8&quot; width=&quot;100%&quot; height=&quot;170&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;/iframe&gt;&#10;&#10;&lt;br/&gt;&#10;&lt;b&gt;&lt;br/&gt;&#10;Tehtävä 6. &lt;/b&gt;Kirjoita ohjelma, jossa on silmukkarakenne, joka tulostaa seuraavat järjestyksessä. Käytä apuna &lt;strong class=&quot;editor red&quot;&gt;silmukkaa&lt;/strong&gt; ja &lt;strong class=&quot;editor red&quot;&gt;listaa&lt;/strong&gt;.&lt;br/&gt;&#10;&lt;b&gt;a)&lt;/b&gt; A1, A2, A3, B1, B2, B3, C1, C2, C3&lt;br/&gt;&#10;&lt;b&gt;b)&lt;/b&gt; A1,B1, C1, A2, B2, C2, A3, B3, C3&lt;br/&gt;&#10;&lt;span&gt;&lt;iframe src=&quot;https://trinket.io/embed/python3/94b31ed0f2&quot; width=&quot;100%&quot; height=&quot;200&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;/iframe&gt;​&lt;/span&gt;​&lt;br/&gt;&#10;&lt;br/&gt;&#10;Video for -silmukoista&lt;br/&gt;&#10;&lt;br/&gt;&#10;​&lt;div class=&quot;youtube&quot;&gt;&lt;iframe loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;360&quot; src=&quot;https://www.youtube.com/embed/JRo3LF2bNDs?rel=0&amp;amp;modestbranding=1&amp;amp;hl=fi&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;/iframe&gt;&lt;div&gt;&lt;a href=&quot;https://youtu.be/JRo3LF2bNDs&quot; title=&quot;https://youtu.be/JRo3LF2bNDs&quot; target=&quot;_blank&quot; rel=&quot;nofollow ugc noopener&quot;&gt;https://youtu.be/JRo3LF2bNDs&lt;/a&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;​</content>
<published>2021-11-21T14:31:37+02:00</published>
</entry>


</feed>