<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="https://peda.net/:static/547/atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Ysin teoria</title>
<id>https://peda.net/id/d78246fc01a</id>
<updated>2026-02-04T10:45:22+02:00</updated>
<link href="https://peda.net/id/d78246fc01a:atom" rel="self" />
<link href="https://peda.net/jamsa/perusopetus/paunu2/luokat-oppiaineet/matematiikka/nrl/9f/ohjelmointi/ysin-teoria#top" rel="alternate" />
<logo>https://peda.net/:static/547/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>Funktioteoria</title>
<id>https://peda.net/id/580ba42601a</id>
<updated>2026-02-04T10:55:06+02:00</updated>
<link href="https://peda.net/jamsa/perusopetus/paunu2/luokat-oppiaineet/matematiikka/nrl/9f/ohjelmointi/ysin-teoria/funktioteoria#top" />
<content type="html">Funktion luominen alkaa määrittelemällä se def-avainsanalla. Sana tulee englannin kielen sanasta define. Tämän jälkeen tulee funktion nimi ja sulkeisiin mahdolliset syötteet eli parametrit. Loppuun kaksoispiste. Funktiota kutsutaan tästä eteenpäin sen nimellä ja se voidaan kutsua pääohjelman sisällä niin monta kertaa kuin halutaan.&lt;br/&gt;&#10;&lt;br/&gt;&#10;HUOMATKAA! &lt;strong class=&quot;editor red&quot;&gt;SISENNYS &lt;/strong&gt;TEHDÄÄN NAPILLA TAB (NÄPPÄIMISTÖN VASEN YLÄKULMA)&#10;&lt;h1&gt;&lt;a href=&quot;https://peda.net/p/Anu.Piispanen/9-ohjelmointi/ohjelmointi/uudet-teoria-asiat/parametri/yo#top&quot; rel=&quot;nofollow ugc noopener&quot; target=&quot;_blank&quot;&gt;Parametri&lt;/a&gt;&lt;/h1&gt;&#10;&lt;div class=&quot;main&quot;&gt;&#10;&lt;div class=&quot;content enclose&quot;&gt;&#10;&lt;p&gt;Funktiosta saa monipuolisemman, kun sille antaa parametreja. Parametrit ovat muuttujia, jotka määritellään funktion ylimmällä rivillä funktion nimen jälkeen olevissa sulkeissa. Kun funktiota kutsutaan, niin sen parametreille annetaan arvot kutsuvaiheessa. Jos funktiolle halutaan antaa useampia parametreja, niin ne erotetaan pilkulla toisistaan. Parametrilista voi olla myös tyhjä, jolloin lisätään vain tyhjät sulkeet ().&lt;/p&gt;&#10;&lt;div class=&quot;tablewrap&quot;&gt;&#10;&lt;table&gt;&#10;&lt;tbody&gt;&#10;&lt;tr&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;&lt;strong&gt;KOODI&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;&lt;strong&gt;OHJELMA TULOSTAA RUUDULLE&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;tr&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;def sanoTerve(nimi, vuosiluokka, ryhmä):&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt;print(&amp;quot;Terve vaan &amp;quot; +nimi+&amp;quot;!&amp;quot;)&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt;print(&amp;quot;Olet &amp;quot;+vuosiluokka+ &amp;quot;. luokalla.&amp;quot;)&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt;print(&amp;quot;Ryhmäsi on &amp;quot;+ryhmä+&amp;quot;.&amp;quot;)&lt;br/&gt;&#10;sanoTerve(&amp;quot;Mikko&amp;quot;, &amp;quot;9&amp;quot;, &amp;quot;B&amp;quot;)&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;Terve vaan Mikko!&lt;br/&gt;&#10;Olet 9. luokalla.&lt;br/&gt;&#10;Ryhmäsi on B.&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Myös listaa voi käyttää parametrina.&lt;/p&gt;&#10;&lt;div class=&quot;tablewrap&quot;&gt;&#10;&lt;table&gt;&#10;&lt;tbody&gt;&#10;&lt;tr&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;&lt;strong&gt;KOODI&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;&lt;strong&gt;OHJELMA TULOSTAA RUUDULLE&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;tr&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;def tulostaAlkiot(lista):&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt;for alkio in lista:&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt;print(alkio)&lt;br/&gt;&#10;luvut=[1, 2, 3, 4, 5]&lt;br/&gt;&#10;tulostaAlkiot(luvut)&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;1&lt;br/&gt;&#10;2&lt;br/&gt;&#10;3&lt;br/&gt;&#10;4&lt;br/&gt;&#10;5&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Huomaa, että parametrin nimi funktion sisällä voi olla mikä tahansa. Nimen ei tarvitse olla sama kuin kutsuvassa ohjelmassa. Yllä olevassa koodissa listaa kutsutaan metodin sisällä &lt;em&gt;lista&lt;/em&gt;, metodin kutsuja näkee saman listan &lt;em&gt;luvut&lt;/em&gt;-nimisenä.&lt;/p&gt;&#10;&lt;p&gt;Parametreilla voi olla myös oletusarvot, joita käytetään, mikäli käyttäjä ei halua tai muista antaa arvoa.&lt;/p&gt;&#10;&lt;div class=&quot;tablewrap&quot;&gt;&#10;&lt;table&gt;&#10;&lt;tbody&gt;&#10;&lt;tr&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;&lt;strong&gt;KOODI&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;&lt;strong&gt;OHJELMA TULOSTAA RUUDULLE&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;tr&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;def sano (viesti, kerroin=1):&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt;if kerroin == 1:&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt;print(&amp;quot;Annoit oletuskertoimen.&amp;quot;)&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt;print (viesti * kerroin) &lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;kerroin=int(input(&amp;quot;Anna ensimmäinen kerroin: &amp;quot;))&lt;br/&gt;&#10;kerroin2= int(input(&amp;quot;Anna toinen kerroin: &amp;quot;))&lt;br/&gt;&#10;sano(&amp;quot;Hampurilainen &amp;quot;, kerroin)&lt;br/&gt;&#10;sano(&amp;quot;Lihapiirakka &amp;quot;, kerroin2)&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;Anna ensimmäinen kerroin: &lt;strong class=&quot;editor red&quot;&gt;6&lt;br/&gt;&#10;&lt;/strong&gt;Anna toinen kerroin: &lt;strong class=&quot;editor red&quot;&gt;4&lt;br/&gt;&#10;&lt;/strong&gt;Hampurilainen Hampurilainen Hampurilainen Hampurilainen Hampurilainen Hampurilainen&lt;br/&gt;&#10;Lihapiirakka Lihapiirakka Lihapiirakka Lihapiirakka&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt; &lt;strong class=&quot;editor red&quot;&gt;punaiset numerot = käyttäjän antama luku ajoikkunassa &lt;/strong&gt; &lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;/p&gt;&#10;&lt;h1&gt;&lt;a href=&quot;https://peda.net/p/Anu.Piispanen/9-ohjelmointi/ohjelmointi/uudet-teoria-asiat/paluuarvo/paluuarvo#top&quot; rel=&quot;nofollow ugc noopener&quot; target=&quot;_blank&quot;&gt;Paluuarvo&lt;/a&gt;&lt;/h1&gt;&#10;&lt;div class=&quot;main&quot;&gt;&#10;&lt;div class=&quot;content enclose&quot;&gt;&#10;&lt;p&gt;Paluuarvo on funktion osa, joka suorittaa funktiosta poistumisen. Paluuarvo hoitaa myös mahdollisen muuttuja-arvon palauttamisen. Pythonissa paluuarvoa varten on varattu &lt;em&gt;return&lt;/em&gt;.&lt;/p&gt;&#10;&lt;p&gt;Funktion paluuarvoa ei tarvitse sijoittaa muuttujaan, vaan se voi olla osana tulostuslausetta kuten muutkin muuttujat. Palautettava arvo voi olla mikä tahansa tietotyyppi. Return-lause voidaan kirjoittaa myös ilman palautusarvoa, jolloin tulkki palauttaa arvon ’None’.&lt;/p&gt;&#10;&lt;p&gt; &lt;/p&gt;&#10;&lt;div class=&quot;tablewrap&quot;&gt;&#10;&lt;table&gt;&#10;&lt;tbody&gt;&#10;&lt;tr&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;&lt;strong&gt;KOODI&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;&lt;strong&gt;OHJELMA TULOSTAA RUUDULLE&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;tr&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;def summa (eka,toka):&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt;return eka + toka&lt;/p&gt;&#10;&lt;p&gt;eka=int(input(&amp;quot;Anna ensimmäinen kokonaisluku: &amp;quot;))&lt;br/&gt;&#10;toka=int(input(&amp;quot;Anna toinen kokonaisluku: &amp;quot;))&lt;/p&gt;&#10;&lt;p&gt;print(&amp;quot;Lukujen summa on: &amp;quot; + str(summa(eka,toka)))&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;Anna ensimmäinen kokonaisluku: &lt;strong class=&quot;editor red&quot;&gt;8&lt;/strong&gt;&lt;br/&gt;&#10;Anna toinen kokonaisluku: &lt;strong class=&quot;editor red&quot;&gt;53&lt;/strong&gt;&lt;br/&gt;&#10;Lukujen summa on: &lt;span class=&quot;editor underline&quot;&gt;&lt;em&gt;61&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;&lt;strong class=&quot;editor red&quot;&gt;punaiset numerot = käyttäjän antama luku ajoikkunassa &lt;/strong&gt; &lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;&lt;span class=&quot;editor underline&quot;&gt;kursivoitu ja alleviivattu&lt;/span&gt;&lt;/em&gt; = muuttujien avulla laskettu/tulostettu luku&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;/p&gt;&#10;&lt;h1&gt;&lt;a href=&quot;https://peda.net/p/Anu.Piispanen/9-ohjelmointi/ohjelmointi/uudet-teoria-asiat/mf/nimet%C3%B6n-e136#top&quot; rel=&quot;nofollow ugc noopener&quot; target=&quot;_blank&quot;&gt;Muuttujat funktioissa&lt;/a&gt;&lt;/h1&gt;&#10;&lt;div class=&quot;main&quot;&gt;&#10;&lt;div class=&quot;content enclose&quot;&gt;&#10;&lt;p&gt;Funktion sisäisiä muuttujia sanotaan paikallisiksi, koska ne näkyvät vain oman funktion sisällä. Jos luot funktion sisällä muuttujan &lt;em&gt;luku&lt;/em&gt;, niin tämä muuttuja on käytettävissä ainoastaan sen funktion sisälle, johon se luotiin. Voit luoda jokaiseen alifunktioon muuttujan &lt;em&gt;luku&lt;/em&gt;, koska jokainen funktio toimii omassa nimiavaruudessa. Tästä johtuen funktioiden välillä muuttujilla ei ole mitään yhteyttä.&lt;/p&gt;&#10;&lt;div class=&quot;tablewrap&quot;&gt;&#10;&lt;table&gt;&#10;&lt;tbody&gt;&#10;&lt;tr&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;&lt;strong&gt;KOODI&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;&lt;strong&gt;OHJELMA TULOSTAA RUUDULLE&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;tr&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;def func(x):&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt;print (&amp;quot;x on funktion sisään tullessa&amp;quot;,x)&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt; x=2&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt; print(&amp;quot;x on muutettu funktion sisällä arvoon&amp;quot;,x)&lt;/p&gt;&#10;&lt;p&gt;x=50&lt;br/&gt;&#10;print(&amp;quot;x on ennen funktiota&amp;quot;,x)&lt;br/&gt;&#10;func(x)&lt;br/&gt;&#10;print(&amp;quot;x on funktion kutsumisen jälkeen edelleen&amp;quot;,x)&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;x on ennen funktiota 50&lt;br/&gt;&#10;x on funktion sisään tullessa 50&lt;br/&gt;&#10;x on muutettu funktion sisällä arvoon 2&lt;br/&gt;&#10;x on funktion kutsumisen jälkeen edelleen 50&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;h1&gt;&lt;a href=&quot;https://peda.net/p/Anu.Piispanen/9-ohjelmointi/ohjelmointi/uudet-teoria-asiat/useampia-funktioita/useampia-funktioita#top&quot; rel=&quot;nofollow ugc noopener&quot; target=&quot;_blank&quot;&gt;Useampia funktioita&lt;/a&gt;&lt;/h1&gt;&#10;&lt;div class=&quot;main&quot;&gt;&#10;&lt;div class=&quot;content enclose&quot;&gt;&#10;&lt;p&gt;Funktioita kutsutaan pääohjelmasta sen tunnisteella. Kutsuun liitetään sulkeisiin funktiolle välitettävät parametrit. Parametrien määrän ja tyyppien on vastattava toisiaan.&lt;/p&gt;&#10;&lt;p&gt;Yleinen ja selkein tapa on kirjoittaa funktiot ohjelman alkuun tai omaksi tiedostoksi.&lt;/p&gt;&#10;&lt;div class=&quot;tablewrap&quot;&gt;&#10;&lt;table&gt;&#10;&lt;tbody&gt;&#10;&lt;tr&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;&lt;strong&gt;KOODI&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;&lt;strong&gt;OHJELMA TULOSTAA RUUDULLE&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;tr&gt;&#10;&lt;td&gt;&#10;&lt;p&gt;#esimerkkejä aliohjelmista&lt;/p&gt;&#10;&lt;p&gt;def sano_moi(): #ei yhtään parametria&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt;print(&amp;quot;Moi!&amp;quot;)&lt;/p&gt;&#10;&lt;p&gt;def sano_hei(nimi): #yksi parametri&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt;print(&amp;quot;Hei,&amp;quot; ,nimi)&lt;/p&gt;&#10;&lt;p&gt;def sano_paivaa(etu,suku): #kaksi parametria&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt;print(&amp;quot;Hyvää päivää&amp;quot;, etu, suku)&lt;/p&gt;&#10;&lt;p&gt;def kolmen_summa(a, b, c): #kolme parametria&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt;summa = a + b + c&lt;br/&gt;&#10;&lt;strong class=&quot;editor red&quot;&gt;SISENNYS&lt;/strong&gt;print (summa)&lt;/p&gt;&#10;&lt;p&gt;#pääohjelma, jossa kutsutaan määriteltyjä funktioita&lt;br/&gt;&#10;sano_moi()&lt;br/&gt;&#10;sano_hei(&amp;quot;Saara&amp;quot;)&lt;br/&gt;&#10;sano_paivaa(&amp;quot;Tero&amp;quot;, &amp;quot;Tietäväinen&amp;quot;)&lt;br/&gt;&#10;kolmen_summa(10, 40, 70)&lt;/p&gt;&#10;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&#10;</content>
<published>2026-02-04T10:48:57+02:00</published>
</entry>


</feed>