A Visual Introduction to Python

Tavoitteet:

Kerrata Python-kielen rakenteita visuaalisesti havainnollistaen. Otsikko on nimetty Trinket.io -sivuston opastuksen mukaan, jota seurataan tällä oppitunnilla. Tästä linkistä pääsee kurssille. Noudata kuitenkin järjestelmällisesti tätä sivua, josta ohjataan tilanteen mukaan muualle.

Onnistuminen harjoituksissa edellyttää tehtävien systemaattista läpikäyntiä ja keskittymistä ymmärtämään, mitä missäkin kohdassa koodia tapahtuu.

Tarkennettuna tavoitteena on kerrata ja syventää osaamista seuraavissa asioissa:

Oliot

  • olio (Olioita kannattaa käyttää ohjelmointiopintojen alusta alkaen!)

  • kerrataan liikkuminen (kulkeminen eteenpäin ja kääntyminen)

  • kirjoittaminen piirtoalustaan write() -funktion avullla

  • olion värin muuttaminen color() -funktiolla.

  • kynä ylös: penup() ja kynä alas: pendown()

  • piirtoalustan oletusmitat ja koordinaattipisteet

  • circle() -funktio

Toisto ja lista

  • for -silmukka

  • listojen käyttäminen



Harjoitukset

Harjoitus 1

Tavoite: Kiinnitä huomio erityisesti siihen, miten olio luodaan ja miten sen metodeja käytetään:

  1. Ensin ladataan kirjasto komennolla import turtle.

  2. Sitten voidaan luoda kirjastossa määriteltävä Turtle-tyyppinen olio. Esimerkiksi tina = turtle.Turtle().

  3. Kun olio on luotu, voidaan käyttää Turtle-luokassa määriteltyjä metoja. Esimerkiksi tina.shape("turtle").

On tärkeää - lähes välttämätöntä menestykselliseen koodaamiseen - opetella lukemaan erilaisia dokumentaatioita. Tässä yhteydessä Turtle graphics documentation on hyödyllinen asiakirja.

Tehtävä:

  1. Laadi edellisistä komennoista kolmerivinen ohjelma. Tallenna se itsellesi. Voit käyttää joko Trinketiä tai Pyhon IDLEä.

  2. Metodi-kutsuissa on usein parametreja. Niin on shape-metodissakin. Lue Turtle graphics documentation sivua ja muuta muoto kilpikonnasta nuoleksi.

Harjoitus 2

Tavoite: kulkeminen eteenpäin, kääntyminen, kynä ylös / alas, piirtoalustan mittojen hahmottaminen

Tehtävä:

  1. Jatka edellistä harjoitusta, voit tallentaa edellisen harjoituksen päälle.

  2. Nosta kynä ylös, penup()

  3. Siirry kohtaan (-150, 150), goto(-150,150)

  4. Laske kynä alas

  5. Piirrä neliö (300 x 300 -kokoinen) käyttäen forward() ja right() -metodeja.

    • Voit tehdä useita komentoja peräkkäin.

TAI

    • Tyylikkäämpi versio on käyttää for-rakennetta toistamaan neljästi sama toiminto.

  1. Mene kohtaan (-50, 50) piirtämättä siirtymisestä jälkeä.

  2. Piirrä neliö (100 x 100 -kokoinen) käyttäen goto() -metodia.

  3. Muuta koodia siten, että ulommainen viiva on sinisellä ja sisempi punaisella.

  4. Täytä sisin neliö keltaisella.

  5. Kokeile, mitä tapahtuu, kun täytät ulomman neliön vihreällä.

  6. Varmista lopuksi, että keltaisella täytetty neliö jää edustalle.

Lopputuloksessa pitäisi siis näkyä suuri ja pieni neliö sisäkkäin väreillä täytettynä.


Harjoitus 3

Tavoite: for-silmukka

Tehtävä:

Jatka taas edellistä harjoitusta, voit tallentaa edellisen harjoituksen päälle.

Jollet laatinut neliön piirtämistä for-silmukalla jo harjoituksessa kaksi, tee se nyt!

Opettele tällä kertaa käyttämään w3schoolsin opetusta for-rakenteesta. Huomaa, että sivustolla voi myös harjoitella ja kokeilla eri asioita. Tästä linkistä for - range -rakenne


Harjoitus 4

Tavoite: merkkijonolistan tulostaminen piirtoalustalle write() -metodilla for-silmukassa.

Tehtävä:

Kopioi oheinen koodi ja tallenna se itsellesi:

import turtle

tina = turtle.Turtle()

tina.write("Tulostetaan hedelmiä listasta:")

tina.penup()

tina.right(90) # Käännetään tinan suuntaa alaspäin


# luetellaan hedelmiä listassa. Huomaa hakasulut sekä lainausmerkit.

fruits = ["apple", "banana", "cherry"]


# käydään koko lista läpi sijoittamalla x:n paikalle yksi hedelmä kerrallaan

for x in fruits:

tina.forward(50)

tina.write(x)


# siirretään tinaa vielä alaspäin


  1. Tutki askel askeleelta, mitä koodissa tapahtuu. (Koodien lukeminen on erinomaista ohjelmointiopiskelua!)

  2. Siirrä kohdistinta eli tinaa alaspäin niin, ettei nuoli peitä tekstiä.

  3. Lisää listaan ainakin kaksi itse keksimääsi hedelmää.

Harjoitus 5

Tavoite: for-silmukan soveltaminen

Tehtävä: Tee loppuun edelliskerran tehtävä 8 x 8 shakkiruudukosta. Väritä ruudukko. Viimeistele koodi siten, että vältät tarpeetonta toistoa.

Harjoitus 6

Jos harjoitukset loppuvat, kysy opettajalta lisätehtävä.