<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="https://peda.net/:static/532/atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Python-ohjelmointi</title>
<id>https://peda.net/id/f7c762c674d</id>
<updated>2019-08-31T17:30:57+03:00</updated>
<link href="https://peda.net/id/f7c762c674d:atom" rel="self" />
<link href="https://peda.net/p/kari.harjula/digitutor/python#top" rel="alternate" />
<logo>https://peda.net/:static/532/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&quot; href=&quot;https://peda.net/info&quot;&gt;Peda.net-yleislisenssi&lt;/a&gt;&lt;/div&gt;&#10;</rights>

<entry>
<title>Yläkoulun matematiikassa opetettavia ohjelmoinnin asioita</title>
<id>https://peda.net/id/0803910a74d</id>
<updated>2020-09-04T14:07:36+03:00</updated>
<link href="https://peda.net/p/kari.harjula/digitutor/python/kivij%C3%A4rvi#top" />
<content type="html">Yläkoulun matematiikassa on hyvä osata ohjelmoinnista seuraavat perusasiat. Näistä on valmiit tehtävät matematiikan kirjassa ja tämä sivu on tukena kirjan tehtävien tekemiseen.&lt;br/&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;b&gt;Python editorit&lt;/b&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;Merkkijonon tulostaminen&lt;/b&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;Muuttujat, muuttujatyypit ja t&lt;/b&gt;&lt;b&gt;yypinmuunnos&lt;/b&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;Syöte funktiolla input()&lt;/b&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;Vertailu&lt;/b&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;Valintarakenteet if, i&lt;/b&gt;&lt;b&gt;f-else ja&lt;/b&gt;&lt;b&gt; if-elif-else&lt;/b&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;Toistorakenteet &lt;/b&gt;&lt;b&gt;While ja For&lt;/b&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;Pyöristäminen funktiolla round()&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;Listat&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;Lisäkirjastot: satunnaisluku, murtoluku ja turtle&lt;/b&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;Lisää Python-tietoa&lt;/b&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;b&gt;&lt;br/&gt;&#10;1. Python Mu-editori, Trinket.io tai joku muu&lt;br/&gt;&#10;&lt;/b&gt;Jos tietokoneessa ei ole Python-editoria, silloin voi käyttää WWW-sivulla toimivaa editoria, esimerkiksi Trinket.io. Trinket löytyy tätä kirjoitettaessa osoitteesta &lt;a href=&quot;https://peda.net/jyvaskyla/ict/ohjeet/pop/to&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;https://peda.net/jyvaskyla/ict/ohjeet/pop/to&lt;/a&gt; Suosittelen kuitenkin tietokoneeseen asennettavaa editoria ja WWW-editori on hyvä hätävara. Tietokoneeseen asennettavista editoreista suosittelen Mu-editoria. Kivijärven tietokoneissa useassa on Mu-editori.&lt;b&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;Python ja syntaksi&lt;/b&gt;&lt;br/&gt;&#10;Ohjelmoinnissa syntaksi on tärkeä ja pienikin virhe estää ohjelman oikean toiminnan. Aloittelijalle yksi Pythonin yllätyspaikka voi olla se, että valintarakenteessa ja toistorakenteessa sisennys pitää olla tarkasti oikea tai muuten ohjelma ei toimi.&lt;b&gt;&lt;b&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;/b&gt;&lt;/b&gt;&lt;b&gt;&lt;br/&gt;&#10;2. Merkkijonon tulostaminen&lt;br/&gt;&#10;&lt;/b&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;# on kommenttimerkki, jonka teksti ei näy ohjelmassa&lt;/li&gt;&#10;&lt;li&gt;&amp;quot; &amp;quot; merkkien väliin tulee normaali teksti&lt;/li&gt;&#10;&lt;li&gt;&amp;quot;&amp;quot;&amp;quot; &amp;quot;&amp;quot;&amp;quot; merkkien väliin voi laittaa mitä tahansa merkkejä mukaan lukien merkin &amp;quot; tai rivinvaihdon&lt;/li&gt;&#10;&lt;li&gt;Funktio print() tulostaa merkkijonon&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;b&gt;Esimerkkejä:&lt;/b&gt;&lt;em&gt;&lt;br/&gt;&#10;&lt;/em&gt;# Alla tekstin tulostusta&lt;br/&gt;&#10;print(&amp;quot;Hello World!&amp;quot;)&lt;em&gt;&lt;br/&gt;&#10;&lt;/em&gt;print(&amp;quot;Hello World!&amp;quot;) # Sama kuin yllä, mutta lisäksi kommenttiteksti&lt;br/&gt;&#10;&lt;br/&gt;&#10;print(3+1) # Tämä ohjelmarivi tulostaa luvun 4&lt;br/&gt;&#10;&lt;br/&gt;&#10;# Joskus tarvitsee merkkejä &amp;quot;&amp;quot;&amp;quot;&lt;br/&gt;&#10;print(&amp;quot;&amp;quot;&amp;quot;Nyt tulostan &amp;quot; merkin ja se tehdään näin.&amp;quot;&amp;quot;&amp;quot;)&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;3. Muuttujat, muuttujatyypit ja tyypinmuunnos&lt;/b&gt;&lt;br/&gt;&#10;Python automaattisesti asettaa muuttujille muuttujatyypin. Muuttujatyyppejä ovat:&lt;br/&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;b&gt;str&lt;/b&gt; = merkkijono&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;int&lt;/b&gt; = kokonaisluku&lt;/li&gt;&#10;&lt;li&gt;&lt;b&gt;float&lt;/b&gt; = desimaaliluku (käytä pistettä, esim: 2.12)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;b&gt;Esimerkkejä muuttujan luomisesta:&lt;/b&gt;&lt;br/&gt;&#10;x = 3 # Python tekee x:n tyypiksi &lt;b&gt;int&lt;/b&gt; &lt;br/&gt;&#10;y = 4.0  # Python tekee y:n tyypiksi &lt;b&gt;float&lt;br/&gt;&#10;&lt;/b&gt;z = x+y # Python tekee z:n tyypiksi &lt;b&gt;float&lt;/b&gt;&lt;br/&gt;&#10;s = &amp;quot;Heippa&amp;quot; # Python tekee s:n tyypiksi &lt;b&gt;str&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;/b&gt;print(x+y) # Tämä ohjelmarivi laskee x+y ja tulostaa vastauksen: 7.0&lt;br/&gt;&#10;print(x, y) # Tämä ohjelmarivi tulostaa luvut x ja y: 3 4.0&lt;br/&gt;&#10;&lt;b&gt;&lt;br/&gt;&#10;Tyypinmuunnos&lt;/b&gt;&lt;br/&gt;&#10;Joskus muuttujan tyyppi on eri mitä halutaan. Esimerkiksi muuttujan s tyyppi on str, se on vaikkapa &amp;quot;39&amp;quot; ja sitä halutaan käsitellä lukuna, mutta merkkijonoa ei voi käsitellä lukuna. Tässä kohtaa tarvitaan tyypinmuunnosta. &lt;br/&gt;&#10;&lt;b&gt;&lt;br/&gt;&#10;Tyypinmuunnoksen voi tehdä näin:&lt;/b&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;# Jos merkkijono s on kokonaisluku, silloin tyypinmuunnoksen voi tehdä joko kokonaisluvuksi tai desimaaliluvuksi&lt;br/&gt;&#10;s = int(s) # Jos halutaan kokonaisluku&lt;br/&gt;&#10;s = float(s) # Jos halutaan desimaaliluku&lt;br/&gt;&#10;&lt;br/&gt;&#10;# Jos merkkijono s on desimaaliluku, silloin tyypinmuunnos on tehtävä desimaaliluvuksi&lt;br/&gt;&#10;s = float(s)&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;&lt;br/&gt;&#10;4. Syöte funktiolla input()&lt;br/&gt;&#10;&lt;/b&gt;Syötteellä kysytään jotain käyttäjältä ja vastaus tallennetaan muuttujaan, jonka muuttujatyyppi on aina automaattisesti &lt;b&gt;str&lt;/b&gt; ja tämän vuoksi syötteissä usein tarvitsee käyttää tyypinmuunnosta.&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Esimerkkejä input():&lt;/b&gt;&lt;br/&gt;&#10;nimi = input(&amp;quot;Anna nimesi: &amp;quot;) # nimi muuttujatyyppi on str&lt;br/&gt;&#10;luku1 = input(&amp;quot;Anna luku1: &amp;quot;) # luku1 muuttujatyyppi on str&lt;br/&gt;&#10;luku2 = input(&amp;quot;Anna luku2: &amp;quot;) # luku2 muuttujatyyppi on str&lt;br/&gt;&#10;&lt;br/&gt;&#10;# nimi on tyyppiä str ja OK&lt;br/&gt;&#10;# luku1 on tyyppiä str ja väärä muuttujatyyppi, jos sillä lasketaan jotain&lt;br/&gt;&#10;&lt;br/&gt;&#10;luku1 = float(luku1) # Nyt luku1 muuttujatyyppi on float&lt;br/&gt;&#10;luku2 = float(luku2) # Nyt luku2 muuttujatyyppi on float&lt;br/&gt;&#10;&lt;br/&gt;&#10;# Alla luku1+luku2 laskee luvut yhteen, jonka jälkeen str() muuntaa luvun merkkijonoksi&lt;br/&gt;&#10;str = &amp;quot;Hei &amp;quot; + nimi + &amp;quot;! &amp;quot; + &amp;quot; Lukujen summa on &amp;quot; + str(luku1+luku2)&lt;br/&gt;&#10;&lt;br/&gt;&#10;print(str) # Tulostaa näytölle muuttujan str merkkijonon&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;&lt;br/&gt;&#10;5. Vertailu Pythonissa&lt;/b&gt;&lt;br/&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;a == b, yhtäsuuruus&lt;/li&gt;&#10;&lt;li&gt;a != b, erisuuruus&lt;/li&gt;&#10;&lt;li&gt;a &amp;gt; b&lt;/li&gt;&#10;&lt;li&gt;a &amp;gt;= b&lt;/li&gt;&#10;&lt;li&gt;a &amp;lt; b&lt;/li&gt;&#10;&lt;li&gt;a &amp;lt;= b&lt;/li&gt;&#10;&lt;/ul&gt;&#10;Pythonissa vertailun tulos on joko True tai False.&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Esimerkki vertailu:&lt;/b&gt;&lt;br/&gt;&#10;print(2 &amp;lt; 1) # Tulostaa näytölle tekstin False&lt;br/&gt;&#10;&lt;br/&gt;&#10;Vertailu on tärkeä asia ja sitä tarvitaan IF-ehtolauseissa.&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;&lt;b&gt;&lt;br/&gt;&#10;&lt;/b&gt;&lt;/b&gt;&lt;b&gt;6. Valintarakenteet if, i&lt;/b&gt;&lt;b&gt;f-else ja&lt;/b&gt;&lt;b&gt; if-elif-else&lt;/b&gt;&lt;br/&gt;&#10;IF-ehtolauseilla voidaan ohjata ohjelman toimintaa haluttuun suuntaan. &lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Valintarakenteissa ja toistorakenteissa sisennys on oltava 100% oikein tai muuten ei toimi.&lt;/b&gt; Pedanetsivulla sisennys saattaa näkyä väärin.&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Esimerkki IF:&lt;/b&gt;&lt;br/&gt;&#10;luku1 = int(input(&amp;quot;Anna kokonaisluku1: &amp;quot;))&lt;br/&gt;&#10;luku2 = int(input(&amp;quot;Anna kokonaisluku2: &amp;quot;))&lt;br/&gt;&#10;&lt;br/&gt;&#10;if luku1 &amp;lt; luku2:&lt;br/&gt;&#10; print(&amp;quot;Hei&amp;quot;)&lt;br/&gt;&#10; print(&amp;quot;Luku 2 on suurempi&amp;quot;)&lt;br/&gt;&#10;&lt;br/&gt;&#10;if luku1 &amp;gt; luku2:&lt;br/&gt;&#10; print(&amp;quot;Hei&amp;quot;)&lt;br/&gt;&#10; print(&amp;quot;Luku 1 on suurempi&amp;quot;)&lt;br/&gt;&#10;&lt;br/&gt;&#10;if luku1 == luku2:&lt;br/&gt;&#10; print(&amp;quot;Hei&amp;quot;)&lt;br/&gt;&#10; print(&amp;quot;Luvut ovat yhtäsuuret&amp;quot;)&lt;br/&gt;&#10;&lt;br/&gt;&#10;# Yllä olevan heikkous on se, että siinä kaikki vaihtoehdot testataan joka kerta.&lt;br/&gt;&#10;# Saman voisi tehdä tehokkaammin valintarakenteella &lt;b&gt;if-elif-else&lt;/b&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Esimerkki IF-ELIF-ELSE:&lt;br/&gt;&#10;&lt;/b&gt;If-elif-else tulee sanoista if - else if - else. Vahvuus on se, että alempiin vaihtoehtoihin ei mennä turhaan, jos ylempi toteutuu.&lt;br/&gt;&#10;&lt;br/&gt;&#10;luku1 = int(input(&amp;quot;Anna kokonaisluku1: &amp;quot;))&lt;br/&gt;&#10;luku2 = int(input(&amp;quot;Anna kokonaisluku2: &amp;quot;))&lt;br/&gt;&#10;&lt;br/&gt;&#10;if luku1 &amp;lt; luku2:&lt;br/&gt;&#10; print(&amp;quot;Hei&amp;quot;)&lt;br/&gt;&#10; print(&amp;quot;Luku 2 on suurempi&amp;quot;)&lt;br/&gt;&#10;elif luku1 &amp;gt; luku2: # Huom! Elif testejä voi olla enemmän kuin 1kpl&lt;br/&gt;&#10; print(&amp;quot;Hei&amp;quot;)&lt;br/&gt;&#10; print(&amp;quot;Luku 1 on suurempi&amp;quot;)&lt;br/&gt;&#10;else:&lt;br/&gt;&#10; print(&amp;quot;Hei&amp;quot;)&lt;br/&gt;&#10; print(&amp;quot;Luvut ovat yhtäsuuret&amp;quot;)&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Esimerkki IF-ELSE:&lt;/b&gt;&lt;br/&gt;&#10;luku1 = int(input(&amp;quot;Anna kokonaisluku1: &amp;quot;))&lt;br/&gt;&#10;luku2 = int(input(&amp;quot;Anna kokonaisluku2: &amp;quot;))&lt;br/&gt;&#10;&lt;br/&gt;&#10;if luku1 &amp;lt; luku2:&lt;br/&gt;&#10; print(&amp;quot;Hei&amp;quot;)&lt;br/&gt;&#10; print(&amp;quot;Luku 2 on suurempi&amp;quot;)&lt;br/&gt;&#10;else:&lt;br/&gt;&#10; print(&amp;quot;Hei&amp;quot;)&lt;br/&gt;&#10; print(&amp;quot;Luku 1 on suurempi tai yhtäsuuri kuin luku 2&amp;quot;)&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;7. Toistorakenteet w&lt;/b&gt;&lt;b&gt;hile ja for&lt;/b&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Esimerkki while:&lt;br/&gt;&#10;&lt;/b&gt;luku1 = 0&lt;b&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;/b&gt;# Alla while suoritetaan kunnes ehto on tosi&lt;b&gt;&lt;br/&gt;&#10;while luku1 != 1111:&lt;/b&gt;&lt;br/&gt;&#10; luku1 = int(input(&amp;quot;Anna kokonaisluku1: &amp;quot;))&lt;br/&gt;&#10; luku2 = int(input(&amp;quot;Anna kokonaisluku2: &amp;quot;))&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt; if luku1 &amp;lt; luku2:&lt;/b&gt;&lt;br/&gt;&#10; print(&amp;quot;Hei&amp;quot;)&lt;br/&gt;&#10; print(&amp;quot;Luku 2 on suurempi&amp;quot;)&lt;br/&gt;&#10; &lt;b&gt;elif luku1 &amp;gt; luku2:&lt;/b&gt;&lt;br/&gt;&#10; print(&amp;quot;Hei&amp;quot;)&lt;br/&gt;&#10; print(&amp;quot;Luku 1 on suurempi&amp;quot;)&lt;br/&gt;&#10; &lt;b&gt;else:&lt;/b&gt;&lt;br/&gt;&#10; print(&amp;quot;Hei&amp;quot;)&lt;br/&gt;&#10; print(&amp;quot;Luvut ovat yhtäsuuret&amp;quot;)&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;print(&amp;quot;LOPPU&amp;quot;)&lt;/b&gt;&lt;br/&gt;&#10;&lt;b&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;Esimerkki for:&lt;br/&gt;&#10;&lt;/b&gt;# Alla oleva toistaa 10 kertaa&lt;br/&gt;&#10;for k in range(0, 10):&lt;br/&gt;&#10; print(&amp;quot;Hei&amp;quot;, k)&lt;br/&gt;&#10;&lt;br/&gt;&#10;print(&amp;quot;LOPPU&amp;quot;)&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;8. Pyöristäminen funktiolla round()&lt;br/&gt;&#10;&lt;/b&gt;Pyöristäminen voidaan tehdä funktiolla round(). Alla esimerkki.&lt;br/&gt;&#10;&lt;br/&gt;&#10;x = 1&lt;br/&gt;&#10;y = 3&lt;br/&gt;&#10;z = round(x/y, 2) &lt;br/&gt;&#10;print(z) # Tulostaa 0.33&lt;br/&gt;&#10;&lt;br/&gt;&#10;Round() palauttaa aina luvun. Sille pitää aina antaa kaksi lukua, joista ensimmäinen on pyöristettävä luku ja toinen kertoo monenko desimaalin tarkkuudella halutaan vastaus. Nyt vastaus tulee 2 desimaalin tarkkuudella, vastaus menee muuttujaan z ja muuttujan z sisältö tulostetaan näytölle.&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;9. Listat&lt;/b&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Esimerkki lista:&lt;/b&gt;&lt;br/&gt;&#10;lista = [&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;C&amp;quot;, &amp;quot;D&amp;quot;]&lt;br/&gt;&#10;&lt;br/&gt;&#10;# Alla tulostetaan listan 2. alkio. Alkioiden luettelointi alkaa nollasta.&lt;br/&gt;&#10;print(lista[1])&lt;br/&gt;&#10;&lt;br/&gt;&#10;# Alla tulostetaan listan kaikki alkiot&lt;br/&gt;&#10;print(lista)&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;10. Lisäkirjastot: satunnaisluku, murtoluku ja turtle&lt;br/&gt;&#10;&lt;/b&gt;Pythonissa on lisäkirjastoja, joita ovat esimerkiksi satunnaislukuja tekevä random ja murtolukuja tekevä fraction. &lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Esimerkki random:&lt;/b&gt;&lt;br/&gt;&#10;# Tämä ottaa randomin käyttöön:&lt;br/&gt;&#10;import random&lt;br/&gt;&#10;&lt;br/&gt;&#10;# Alla luodaan satunnainen kokonaisluku väliltä 1-100.&lt;br/&gt;&#10;satunnaisluku1 = random.randint(1, 100)&lt;br/&gt;&#10;&lt;br/&gt;&#10;print(satunnaisluku1)&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Esimerkki murtoluku:&lt;/b&gt;&lt;br/&gt;&#10;# Tämä ottaa fractionin käyttöön:&lt;br/&gt;&#10;from fractions import Fraction&lt;br/&gt;&#10;&lt;br/&gt;&#10;# Alla luodaan murtoluku 2/3&lt;br/&gt;&#10;luku = Fraction(2,3)&lt;br/&gt;&#10;&lt;br/&gt;&#10;print(luku)&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Turtle-kirjasto&lt;br/&gt;&#10;&lt;/b&gt;Turtlen saa käyttöön komennolla &lt;em&gt;import turtle&lt;/em&gt;&lt;br/&gt;&#10;Ohjeet turtleen löytyy osoitteesta &lt;a href=&quot;https://peda.net/jyvaskyla/ict/ohjeet/pop/k&quot;&gt;https://peda.net/jyvaskyla/ict/ohjeet/pop/k&lt;/a&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;11. Lisää Python-tietoa&lt;br/&gt;&#10;&lt;/b&gt;Lisää python tietoa löytyy osoitteesta &lt;a href=&quot;https://peda.net/jyvaskyla/ict/ohjeet/pop&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;https://peda.net/jyvaskyla/ict/ohjeet/pop&lt;/a&gt;</content>
<published>2019-05-12T20:26:09+03:00</published>
</entry>


</feed>