<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="https://peda.net/:static/539/atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>25. maaliskuuta 2026</title>
<id>https://peda.net/id/4afc3224277</id>
<updated>2026-03-24T14:09:22+02:00</updated>
<link href="https://peda.net/id/4afc3224277:atom" rel="self" />
<link href="https://peda.net/orivesi/perusopetus/yhteiskoulu/oppiaineet/tietoteknikka/tvt-ja-ohjelmointikurssi-25-26/25.-maaliskuuta-2026#top" rel="alternate" />
<logo>https://peda.net/:static/539/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>Palataan Python-ohjelmoinnin pariin: moduulit ja funktiot</title>
<id>https://peda.net/id/1100fafa277</id>
<updated>2026-03-24T16:25:20+02:00</updated>
<link href="https://peda.net/orivesi/perusopetus/yhteiskoulu/oppiaineet/tietoteknikka/tvt-ja-ohjelmointikurssi-25-26/25.-maaliskuuta-2026/palataan-python-ohjelmoinnin-pariin-moduulit-ja-funktiot#top" />
<content type="html">&lt;h3&gt;Johdantotehtävä&lt;/h3&gt;&#10;Kopioi alla oleva koodi &lt;a href=&quot;https://trinket.io&quot; rel=&quot;noopener nofollow ugc&quot; target=&quot;_blank&quot;&gt;Trinket.io&lt;/a&gt;:hon ja tutustu sekä ohjelman toimintaan että koodiin. &lt;br/&gt;&#10;&lt;br/&gt;&#10;Joutunet asettamaan sisennykset kohdalleen, mikä on erittäin tarkoituksenmukaista harjoittelua koodin rakenteen hahmottamiseksi!&lt;br/&gt;&#10;&lt;br/&gt;&#10;Vastaa mielessäsi seuraaviin kysymyksiin:&lt;br/&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Mitä ohjelma tekee?&lt;/li&gt;&#10;&lt;li&gt;Mitä koodissa tarkoittaa&#10;&lt;ul&gt;&#10;&lt;li&gt;while True:&lt;/li&gt;&#10;&lt;li&gt;break&lt;/li&gt;&#10;&lt;li&gt;try - except -rakenne&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Jollet ymmärrä, saat kysyä tekoälyltä selitystä.&lt;/li&gt;&#10;&lt;li&gt;Ja vaikka ymmärtäisitkin, voit kysyä tekoälyltä syvennystä asioihin.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;br/&gt;&#10;&lt;span&gt;&lt;!--ScriptorStartFragment--&gt;&lt;/span&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt;print &amp;quot;Lasketaan kahden luvun tulo.&amp;quot;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt;print &amp;quot;Laskeminen jatkuu niin kauan kuin kumpikaan luvuista ei ole nolla.\n&amp;quot;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt;while True:&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; # Kysy luku1 kunnes syöte on kunnollinen&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; while True:&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; try:&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; luku1 = int(raw_input(&amp;quot;Anna ensimmäinen kokonaisluku: &amp;quot;))&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; break&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; except:&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; print &amp;quot;Syöte ei kelpaa. Anna kokonaisluku!&amp;quot;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; # Kysy luku2 kunnes syöte on kunnollinen&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; while True:&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; try:&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; luku2 = int(raw_input(&amp;quot;Anna toinen kokonaisluku: &amp;quot;))&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; break&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; except:&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; print &amp;quot;Syöte ei kelpaa. Anna kokonaisluku!&amp;quot;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; # Tarkistus: lopetetaanko?&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; if luku1 == 0 or luku2 == 0:&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; print &amp;quot;Annoit nollan, joten hypätään silmukasta pois.&amp;quot;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; break&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; print &amp;quot;Lukujen tulo on&amp;quot;, luku1 * luku2&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;code&gt;&lt;span&gt; print &amp;quot;&amp;quot;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&#10;&lt;div class=&quot;scriptor-paragraph&quot;&gt;&lt;span&gt;&lt;code&gt;print &amp;quot;Ohjelman suoritus loppui.&amp;quot;&lt;/code&gt;&lt;!--ScriptorEndFragment--&gt;&lt;/span&gt;&lt;/div&gt;&#10;&lt;h3&gt;&lt;br/&gt;&#10;Malli moduulista ja funktiosta&lt;/h3&gt;&#10;&lt;br/&gt;&#10;Tutustu seuraavaan esimerkkiin:&lt;br/&gt;&#10;&lt;span class=&quot;small&quot;&gt;&lt;a href=&quot;https://peda.net/orivesi/perusopetus/yhteiskoulu/oppiaineet/tietoteknikka/tvt-ja-ohjelmointikurssi-25-26/25.-maaliskuuta-2026/palataan-python-ohjelmoinnin-pariin-moduulit-ja-funktiot/moduulit.png#top&quot; title=&quot;moduulit.png&quot;&gt;&lt;img src=&quot;https://peda.net/orivesi/perusopetus/yhteiskoulu/oppiaineet/tietoteknikka/tvt-ja-ohjelmointikurssi-25-26/25.-maaliskuuta-2026/palataan-python-ohjelmoinnin-pariin-moduulit-ja-funktiot/moduulit.png:file/photo/c043804adaea5ce320f1b4e6df8fc4c615810f6e/moduulit.png&quot; alt=&quot;&quot; title=&quot;moduulit.png&quot; class=&quot;inline&quot; loading=&quot;lazy&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;main.py:&lt;/b&gt;&lt;br/&gt;&#10;&lt;code&gt;import taksat&lt;/code&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;Tässä ohjelmassa lasketaan taksimatkan hinta.&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;Hinta muodostuu perusmaksusta sekä kilometrikustannuksesta.&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;matkanPituus = float(input(&amp;quot;Anna matkan pituus kilometreinä.&amp;quot;))&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;Matkan hinta on&amp;quot;, taksat.laskeMatkanHinta(matkanPituus), &amp;quot;euroa.&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;taksat.py:&lt;/b&gt;&lt;br/&gt;&#10;&lt;code&gt;def laskeMatkanHinta(matkanPituus):&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;return 1.39 * matkanPituus + 6.0&lt;/code&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;h3&gt;Harjoitustehtävä: tee lisää funktioita omiin moduuleihinsa&lt;/h3&gt;&#10;Moduulien ja funktioiden avulla laajempaa ohjelmistokokonaisuutta koetetaan jäsennellä ihmisellä hahmoteltavaksi. Loppujen lopuksihan koneen suorittama ykkösten ja nollien jono on &amp;quot;yhtä pötköä&amp;quot; haarautuen kuitenkin suorituksessa eri tekijöiden vaikutusten mukaisesti.&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;Rupea täydentämään seuraavaa ohjelmaa. Aikaa 2 * 75 min.&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;span class=&quot;medium&quot;&gt;&lt;a href=&quot;https://peda.net/orivesi/perusopetus/yhteiskoulu/oppiaineet/tietoteknikka/tvt-ja-ohjelmointikurssi-25-26/25.-maaliskuuta-2026/palataan-python-ohjelmoinnin-pariin-moduulit-ja-funktiot/avaruusgeom.png#top&quot; title=&quot;avaruusgeom.png&quot;&gt;&lt;img src=&quot;https://peda.net/orivesi/perusopetus/yhteiskoulu/oppiaineet/tietoteknikka/tvt-ja-ohjelmointikurssi-25-26/25.-maaliskuuta-2026/palataan-python-ohjelmoinnin-pariin-moduulit-ja-funktiot/avaruusgeom.png:file/photo/aeddef9a86f31409c4764b4b5258a5cbb954e48b/avaruusgeom.png&quot; alt=&quot;&quot; title=&quot;avaruusgeom.png&quot; class=&quot;inline&quot; loading=&quot;lazy&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;br/&gt;&#10;&lt;b&gt;&lt;br/&gt;&#10;main.py:&lt;/b&gt;&lt;br/&gt;&#10;&lt;code&gt;from kuutionTilavuus import *&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;from kuutionPintaAla import *&lt;/code&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;Tässä ohjelmassa lasketaan kappaleiden pinta-aloja ja tilavuuksia&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;Lasketaan niin kauan kunnes käyttäjä syöttää nollan.&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;code&gt;while True:&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;suorakulmaisen särmiön tilavuuden laskeminen: 1&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;suorakulmaisen särmiön pinta-alan laskeminen: 2&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;kuution tilavuuden laskeminen: 3&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;kuution pinta-alan laskeminen: 4&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;Tähän on tulossa lisää vaihtoehtoja...&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;Lopetus: 0&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;code&gt;# Kysy, kunnes syöte on kunnollinen&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;while True:&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;try:&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;valinta = int(raw_input(&amp;quot;Valitse toiminto &amp;quot;))&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;break&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;except:&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;Syöte ei kelpaa. Anna kokonaisluku!&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;code&gt;# Tarkistus: lopetetaanko?&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;if valinta == 0:&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;Annoit nollan, joten hypätään silmukasta pois.&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;break&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;elif valinta == 1:&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;ToDo&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;elif valinta == 2:&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;ToDo&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;elif valinta == 3:&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;tilavuus = kuutionTilavuus()&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;Kuution tilavuus on &amp;quot;, tilavuus&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;elif valinta == 4:&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;kuutionPintaAla()&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;else:&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print(&amp;quot;Valintaa ei vastaa mitään toimintoa. Valitse annetuista vaihtoehdoista.&amp;quot;)&lt;/code&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;Ohjelman suoritus loppui.&lt;/code&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;kuutionTilavuus.py:&lt;/b&gt;&lt;br/&gt;&#10;&lt;code&gt;def kuutionTilavuus():&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;# Kysy sivunPituus kunnes syöte on kunnollinen&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;while True:&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;try:&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;sivunPituus = float(raw_input(&amp;quot;Anna sivun pituus: &amp;quot;))&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;return sivunPituus * sivunPituus * sivunPituus&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;except:&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;Syöte ei kelpaa. Anna jokin luku! Desimaaliluvussa piste on desimaalierottimena.&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;kuution pintaAla.py:&lt;/b&gt;&lt;br/&gt;&#10;&lt;code&gt;def kuutionPintaAla():&lt;/code&gt;&lt;br/&gt;&#10;&lt;code&gt;print &amp;quot;Todo&amp;quot;&lt;/code&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;</content>
<published>2026-03-24T14:43:32+02:00</published>
</entry>


</feed>