<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Turuxi-py on Turuxi</title>
    <link>/Turuxi-py/</link>
    <description>Recent content in Turuxi-py on Turuxi</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>fi-fi</language>
    <lastBuildDate>Sat, 03 Sep 2016 20:32:56 +0000</lastBuildDate><atom:link href="/Turuxi-py/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Inkscape-laajennos (taulukko)</title>
      <link>/Turuxi-py/Inkscape-laajennos_taulukko/</link>
      <pubDate>Sat, 03 Sep 2016 20:32:56 +0000</pubDate>
      
      <guid>/Turuxi-py/Inkscape-laajennos_taulukko/</guid>
      <description>Yleistä Laajennos generoi syötteeksi annetusta CSV-tiedostosta Inkscapeen talukon. Taulukko koostuu riveiksi ja sarakkeiksi järjestetyistä suorakaiteista, soluista, joiden päällä ovat tekstiolioina taulukon solujen tekstit. Ehkä taustaksi vielä yksi iso suorakaide. (Esimerkkitiedosto (svg), esimerkkitiedosto (csv))
Argumentteja Ohjelmalle annettavia argumentteja voisivat olla esimerkiksi
Tekstin, solujen ja taustan värit (esim. RGBA-muodossa: #ab0393ff, jossa kaksi viimeistä merkkiä tarkoittavat värin läpinäkyvyyttä) solujen välin suuruus (joko yksi tai vaaka- ja pystysuunta erikseen) solujen padding, eli paljonko tyhjää tekstin ja solun sisäreunan välillä fonttikoko CSV-tiedoston nimi Ohjelmassa tehtäviä asioita tiedoston lukeminen (parametrien arvojen tarkistaminen, esim.</description>
    </item>
    
    <item>
      <title>Tapaaminen 25.02.2010</title>
      <link>/Turuxi-py/Tapaaminen_25.02.2010/</link>
      <pubDate>Wed, 24 Feb 2010 22:00:00 +0000</pubDate>
      
      <guid>/Turuxi-py/Tapaaminen_25.02.2010/</guid>
      <description>Aiheina:
kertaus opintopiirissä käsitellyistä aiheista </description>
    </item>
    
    <item>
      <title>Tapaaminen 18.02.2010</title>
      <link>/Turuxi-py/Tapaaminen_18.02.2010/</link>
      <pubDate>Wed, 17 Feb 2010 22:00:00 +0000</pubDate>
      
      <guid>/Turuxi-py/Tapaaminen_18.02.2010/</guid>
      <description>Aiheina:
luokka olio olio-ohjelmointi Linkkejä:
Kirjan kappale 15 (Luokat ja oliot) Luokka Python on olio-ohjelmointikieli, eli sillä voidaan harjoittaa oliosuuntautunutta ohjelmointia. Perinteisissä proseduraalisissa kielissä ohjelmointi keskittyy funktioiden ja aliohjelmien luomiseen. Olio-ohjemoinnissa taas keskeisessä osassa on itse käsiteltävä data ja siihen liittyvät toiminnot. Eräs tarkoitus tälle lähtökohdalle on halu organisoida ja kapseloida toisiinsa liittyviä asioita yhteen modulaarisiksi kokonaisuuksiksi, jotka sisältävät samalla sekä datan että sen käsittelyyn liittyvät funktiot. Esimerkiksi tason pistettä kuvaavaan pisteolioon liittyy tyypillisesti ainakin sen x- ja y-koordinaatit sekä pisteiden laskeminen yhteen.</description>
    </item>
    
    <item>
      <title>Tapaaminen 11.02.2010</title>
      <link>/Turuxi-py/Tapaaminen_11.02.2010/</link>
      <pubDate>Wed, 10 Feb 2010 22:00:00 +0000</pubDate>
      
      <guid>/Turuxi-py/Tapaaminen_11.02.2010/</guid>
      <description>Aiheina:
sanakirja Linkkejä:
Kirjan kappale 20 (Sanakirja) Sanakirja Sanakirja on kokoelmatietotyyppi, jonka tehtävänä on kuvata olioita toisiksi, siis palauttaa kutakin avainta vastaava arvo. Tyhjän listan voi luoda kaarisulkeilla:
&amp;gt;&amp;gt;&amp;gt; sanakirja = {} Uusia avain-arvo-pareja sanakirjaan voi lisätä hakasuljemerkinnällä:
&amp;gt;&amp;gt;&amp;gt; sanakirja[&amp;#39;one&amp;#39;] = &amp;#39;yksi&amp;#39; &amp;gt;&amp;gt;&amp;gt; sanakirja[&amp;#39;two&amp;#39;] = &amp;#39;kaksi&amp;#39; Sanakirjasta hakeminen tapahtuu vastaavasti hakasulkeita käyttämällä:
&amp;gt;&amp;gt;&amp;gt; sanakirja[&amp;#39;one&amp;#39;] &amp;#39;yksi&amp;#39; Hakasulkeiden käyttö toimii siis vastaavasti kuin esimerkiksi listalla, mutta avaimena käytetään indeksiluvun sijasta avainta. Avain voi olla mitä tahansa avaimeksi soveltuvaa tyyppiä.</description>
    </item>
    
    <item>
      <title>Tapaaminen 04.02.2010</title>
      <link>/Turuxi-py/Tapaaminen_04.02.2010/</link>
      <pubDate>Wed, 03 Feb 2010 22:00:00 +0000</pubDate>
      
      <guid>/Turuxi-py/Tapaaminen_04.02.2010/</guid>
      <description>Aiheina:
monikko rekursio virheenkäsittely poikkeus Linkkejä:
Kirjan kappale 18 (Rekursio) Kirjan kappele 19 (Poikkeukset) Monikko ja muutettavuus Aiemmin tutustuimme merkkijonoihin ja listoihin, joista merkkijonot olivat muuttumattomia ja listat muutettavia. Monikko on monella tapaa listan kaltainen, mutta muuttumaton tietorakenne. Monikko on pilkuilla eroteltu luettelo (jakso) alkioita, kuten listakin.
&amp;gt;&amp;gt;&amp;gt; mon = 2, 4, 6, 8 Sulkeet monikon ympärillä eivät ole pakolliset, mutta niitä käytetään usein selkeyden vuoksi.
&amp;gt;&amp;gt;&amp;gt; mon = (2, 4, 6, 8) Jos monikossa on vain yksi alkio, pitää tämän jälkeen olla pilkku.</description>
    </item>
    
    <item>
      <title>Tapaaminen 28.01.2010</title>
      <link>/Turuxi-py/Tapaaminen_28.01.2010/</link>
      <pubDate>Wed, 27 Jan 2010 22:00:00 +0000</pubDate>
      
      <guid>/Turuxi-py/Tapaaminen_28.01.2010/</guid>
      <description>Aiheina:
moduulit nimiavaruus tiedostojen käsittely Linkkejä:
Kirjan kappale 13 (Tiedostot) Kirjan kappale 12 (Modules) Tiedostot Usein käsitelty tieto halutaan tallentaa tietokoneen levylle talteen ja myöhemmin avata taas käyttöön. Tarvitsemme siis keinot luoda, kirjoittaa ja avata tiedostoja. Pythonissa tämä on pyritty toteuttamaan mahdollisimman riippumattomaksi alla olevasta järjestelmästä. Tiedostojen käyttö on siis samanlaista riippumatta käytössä olevasta käyttöjärjestelmästä ja tiedostojärjestelmästä.
Tiedostojen käsittely Pythonissa lähes kaikkea käsitellään olioina ja siten siis myös tiedostoja. Käytettävä tiedosto avataan open()-funktiolla.</description>
    </item>
    
    <item>
      <title>Tapaaminen 21.01.2010</title>
      <link>/Turuxi-py/Tapaaminen_21.01.2010/</link>
      <pubDate>Wed, 20 Jan 2010 22:00:00 +0000</pubDate>
      
      <guid>/Turuxi-py/Tapaaminen_21.01.2010/</guid>
      <description>Aiheina:
merkkijono lista for-silmukka Linkkejä:
Kirjan kappale 8 (Merkkijono) Kirjan kappale 11 (Lista) Merkkijono Yhdistetyt tietotyypit Tähän mennessä käyttämistämme tietotyypeistä merkkijono, eli str, eli string poikkeaa muista (int, bool, float) siinä, että merkkijono koostuu osista, yksittäisistä merkeistä. Tietotyyppejä, jotka koostuvat osasista, kutsutaan yhdistetyiksi tietotyypeiksi. Tällasen tyypin esiintymää voidaan kohdella yhtenä yksikköinä taikka käsitellä sen sisältämiä osasia.
Merkkijonon yksittäiseen kirjaimeen voidaan viitata hakasuljemerkinnällä:
&amp;gt;&amp;gt;&amp;gt; fruit = &amp;#34;banaani&amp;#34; &amp;gt;&amp;gt;&amp;gt; letter = fruit[1] &amp;gt;&amp;gt;&amp;gt; print letter a Yllättikö tulos?</description>
    </item>
    
    <item>
      <title>Tapaaminen 14.01.2010</title>
      <link>/Turuxi-py/Tapaaminen_14.01.2010/</link>
      <pubDate>Wed, 13 Jan 2010 22:00:00 +0000</pubDate>
      
      <guid>/Turuxi-py/Tapaaminen_14.01.2010/</guid>
      <description>Aiheina:
Esimerkki: pieni peli Rakennetaan yksinkertainen ohjelma ja tutkitaan sen rakennetta. yksikkötestaus unittest-moduulilla testivetoinen kehitys Linkkejä:
Kirjan kappale 8 (Esimerkki: Catch) Dive Into Python -kirjan unittest-luku http://docs.python.org/library/unittest.html </description>
    </item>
    
    <item>
      <title>Tapaaminen 07.01.2010</title>
      <link>/Turuxi-py/Tapaaminen_07.01.2010/</link>
      <pubDate>Wed, 06 Jan 2010 22:00:00 +0000</pubDate>
      
      <guid>/Turuxi-py/Tapaaminen_07.01.2010/</guid>
      <description>Aiheina:
kertaus vuoden 2009 puolella käsitellyistä aiheista unittest testivetoinen kehitys Linkkejä:
How to Think Like a Computer Scientist </description>
    </item>
    
    <item>
      <title>Tapaaminen 03.12.2009</title>
      <link>/Turuxi-py/Tapaaminen_03.12.2009/</link>
      <pubDate>Wed, 02 Dec 2009 22:00:00 +0000</pubDate>
      
      <guid>/Turuxi-py/Tapaaminen_03.12.2009/</guid>
      <description>Aiheina:
kapselointi yleistäminen pintapuolinen katsaus seuraaviin aiheisiin: yksikkötestaus, doctest lista monikko (tupla) sanakirja luokka, olio ja olio-ohjelmointi nimiavaruus Linkkejä:
Kirjan kappale 4 (Funktioita) Kirjan kappale 7 (Iteraatio) Kapselointi ja yleistys Kapseloinnilla tarkoitetaan ohjelmakoodin käärimistä funktioksi, jolloin saamme nimetyn työvälineen, jolla voimme suorittaa kyseisen toiminnon useammassa kohdassa ohjelmaamme. Samalla ohjelmakoodia voidaan yleistää. Siis, jos alkuperäinen ohjelmakoodimme suorittaa asiansa tietyssä erikoistapauksessa, esimerkiksi tietyllä muuttujan arvolla, voimme määritellä tämän muuttujan uuden funktiomme parametriksi. Näin funktiota voidaan käyttää ohjelmakoodin alkuperäisessä tarkoituksessa, mutta myös muissa vastaavissa tilanteissa.</description>
    </item>
    
    <item>
      <title>Tapaaminen 26.11.2009</title>
      <link>/Turuxi-py/Tapaaminen_26.11.2009/</link>
      <pubDate>Wed, 25 Nov 2009 22:00:00 +0000</pubDate>
      
      <guid>/Turuxi-py/Tapaaminen_26.11.2009/</guid>
      <description>Paikka:
ICT-talo Aihena ainakin:
Versionhallinta (erityisesti Subversion, eli svn) Linkkejä:
Subversion: http://subversion.tigris.org Versionhallintaesitys: (pdf) (svg) Turuxi-py:n repository: https://svn.l-a.fi/dokumentit/tyoryhmat/turuxi/turuxi-py/ Harjoittelua varten kannattaa Subversion asentaa omalle koneelle. Esimerkiksi Ubuntussa (ja Debianissa) se löytyy paketista subversion. Jotta voimme harjoitella Turuxi-py:lle tehdyn verkkovaraston käyttöä, olisi hyvä, jos osallistujilla olisi verkkoyhteys käytössä. ICT-talolla on SparkNet-verkko, joka on ainakin aiemmin toiminut vaihtelevalla menestyksellä.</description>
    </item>
    
    <item>
      <title>Tapaaminen 19.11.2009</title>
      <link>/Turuxi-py/Tapaaminen_19.11.2009/</link>
      <pubDate>Wed, 18 Nov 2009 22:00:00 +0000</pubDate>
      
      <guid>/Turuxi-py/Tapaaminen_19.11.2009/</guid>
      <description>Aiheina:
funktioita iteraatio Linkkejä:
Kirjan kappale 4 (Funktioita) Kirjan kappale 7 (Iteraatio) Tehtävien tarkistus Edellisen kerran tehtävät käytiin pikaisesti läpi.
Hedelmällisiä funktioita Funktion suorituksen voi keskeyttää return-lauseella, mutta hedelmälliset funktiot palauttavat jonkin arvon pelkän funktion suorittamisen loppumisen lisäksi. Arvo palautetaan myös return-lauseella.
return arvo Funktiossa voi olla useampia return-lauseita, jotka suoritetaan erilaisissa tapauksissa. Hedelmällisessä funktiossa, eli funktiossa, jonka halutaan aina palauttavan jotain, täytyy olla tarkkana, että funktion jokainen haara aina päättyy return-lauseeseen.</description>
    </item>
    
    <item>
      <title>Tapaaminen 12.11.2009</title>
      <link>/Turuxi-py/Tapaaminen_12.11.2009/</link>
      <pubDate>Wed, 11 Nov 2009 22:00:00 +0000</pubDate>
      
      <guid>/Turuxi-py/Tapaaminen_12.11.2009/</guid>
      <description>Aiheina:
modulo-operaatio Boolen logiikkaa ja vertailuja ehtolause palautuslause tyyppimuunnokset Linkkejä:
Kirjan kappale 5 (Ehdollisuus) Tehtävien tarkistus Edellisen kerran tehtävät käytiin pikaisesti läpi.
Modulo-operaatiot Pythonissa on käytettävissä modulo-, eli jakojäännösoperaatio, jonka merkkinä on prosenttimerkki %, kuten monessa muussakin kielessä.
&amp;gt;&amp;gt;&amp;gt; 7 % 3 1 &amp;gt;&amp;gt;&amp;gt; 7 % 2 1 Operaatio laskee lausekkeesta x % y jakolaskun x/y ja palauttaa jäävän jakojäännöksen. Esimerkiksi kokonaisluku 3 menee kokonaislukuun 7 kaksi kertaa ja yli jää jakojäännökseksi yksi.</description>
    </item>
    
    <item>
      <title>Tapaaminen 05.11.2009</title>
      <link>/Turuxi-py/Tapaaminen_05.11.2009/</link>
      <pubDate>Wed, 04 Nov 2009 22:00:00 +0000</pubDate>
      
      <guid>/Turuxi-py/Tapaaminen_05.11.2009/</guid>
      <description>Aiheina:
Funktiot Parametrit ja argumentit import-lause ohjelman suoritusjärjestys muuttujien näkyvyys pino-tietotyyppi Linkkejä:
http://docs.python.org/reference/simple_stmts.html#grammar-token-print_stmt Kirjan kappale 3 (Funktiot) Tehtävien tarkistus Tapaaminen alkoi edellisen kerran tehtävien (kappale 2) tarkistamisella.
Funktiot Funktion määrittely koostuu kahdesta osasta, def-sanalla alkavasta otsakkeesta ja funktion vartalosta, joka on sisennetty jonkin verran suhteessa otsakkeeseen. Käytetään sisennykseen pep8:n suosittelemaa neljää välilyöntiä. Esimerkiksi:
def foo(): print &amp;#34;foo&amp;#34; Tehtävä 1 Tee tiedostoon luku03.py funktio new_line, joka tulostaa rivinvaihdon.
Ratkaisu:
def new_line(): print new_line() Kun tämä tiedosto suoritetaan komennolla python luku03.</description>
    </item>
    
    <item>
      <title>Tapaaminen 29.10.2009</title>
      <link>/Turuxi-py/Tapaaminen_29.10.2009/</link>
      <pubDate>Wed, 28 Oct 2009 22:00:00 +0000</pubDate>
      
      <guid>/Turuxi-py/Tapaaminen_29.10.2009/</guid>
      <description>Aihena ainakin:
Muuttuja Lause ja lauseke Pythonin interaktiiviseen tulkkiin tutustuminen Tyylin ja käytäntöjen merkitys Python-kielen varatut sanat Linkkejä:
Pythonin ohjelmointikäytännöistä: http://www.python.org/dev/peps/pep-0008/ Pythonin varatut sanat: http://docs.python.org/reference/lexical_analysis.html#keywords Pythonin operaattorit: http://docs.python.org/reference/lexical_analysis.html#operators </description>
    </item>
    
    <item>
      <title>Tapaaminen 22.10.2009</title>
      <link>/Turuxi-py/Tapaaminen_22.10.2009/</link>
      <pubDate>Wed, 21 Oct 2009 21:00:00 +0000</pubDate>
      
      <guid>/Turuxi-py/Tapaaminen_22.10.2009/</guid>
      <description>Tero aloitti johdattelemalla ohjelmointiin tehtävällä.
Tehtävä 1 Kirjoita ohjeet, joita seuraamalla voidaan piirtää ristinollaruudukko.
Koska tehtävänannossa ei ollut annettu tarkempia ohjeita, saatiin vastauksena useampia erilaisia ratkaisuja. Esimerkiksi:
&amp;ldquo;Piirrä pystyviiva, jonka korkeus on &amp;hellip;, piirrä toinen samanalainen pystyviiva x cm oikealle ensimmäisestä, &amp;hellip;&amp;rdquo; &amp;ldquo;Laske kynä piirtoalustalle, piirrä x cm suoraan ylös, nosta kynä, käänny oikealle, etene y cm, käänny oikealle, laske kynä, piirrä x cm suoraan eteen päin, &amp;hellip;&amp;rdquo; &amp;ldquo;Kutsu valmista toimintoa &amp;lsquo;ristinollaruudukonpiirto&amp;rsquo;.</description>
    </item>
    
  </channel>
</rss>
