Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 6 Kerta 7. 1. Toteuta Pythonilla seuraava ohjelma:



Samankaltaiset tiedostot
Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta Toteuta Pythonilla seuraava ohjelma:

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Python-ohjelmointi Harjoitus 2

Ohjelmoinnin perusteet Y Python

ITKP102 Ohjelmointi 1 (6 op)

Metropolia ammattikorkeakoulu TI00AA : Ohjelmointi Kotitehtävät 3

Ohjelmoinnin perusteet Y Python

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Ohjelmoinnin perusteet Y Python

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmoinnin perusteet Y Python

Python-ohjelmointi Harjoitus 5

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Luento 5. Timo Savola. 28. huhtikuuta 2006

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Tutoriaaliläsnäoloista

Ohjelmoinnin perusteet Y Python

Datatähti 2019 loppu

Merkitse kertolasku potenssin avulla ja laske sen arvo.

Metropolia ammattikorkeakoulu TI00AA : Ohjelmointi Kotitehtävät 3 opettaja: Pasi Ranne

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin jatkokurssi, kurssikoe

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Java-kielen perusteet

Ohjelmoinnin perusteet Y Python

Ohjelmassa on käytettävä funktiota laskeparkkimaksu laskemaan kunkin asiakkaan maksu. Funktio floor pyöristää luvun lähimmäksi kokonaisluvuksi.

Harjoitus 3 (viikko 39)

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Kokeellista matematiikkaa SAGE:lla

Algoritmit 1. Demot Timo Männikkö

Matematiikan tukikurssi, kurssikerta 1

B. 2 E. en tiedä C ovat luonnollisia lukuja?

Ohjelmoinnin perusteet Y Python

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Tehtävä Vastaus

Tietorakenteet (syksy 2013)

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

(d) 29 4 (mod 7) (e) ( ) 49 (mod 10) (f) (mod 9)

Ohjelmoinnin peruskurssi Y1

Java-kielen perusteet

Ohjelmoinnin peruskurssi Y1

Tekijä Pitkä Matematiikka 11 ratkaisut luku 2

Ohjelmoinnin perusteet Y Python

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Ohjelmoinnin perusteet, syksy 2006

13. Loogiset operaatiot 13.1

14. Hyvä ohjelmointitapa 14.1

Ohjelmoinnin peruskurssi Y1

815338A Ohjelmointikielten periaatteet

Ohjelmoinnin perusteet Y Python

3. Kongruenssit. 3.1 Jakojäännös ja kongruenssi

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

1 Ensimmäisen asteen polynomifunktio

Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin:

Ohjelmoinnin peruskurssi Y1

3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö

2 Pistejoukko koordinaatistossa

Ohjelmoinnin perusteet Y Python

Negatiiviset luvut ja laskutoimitukset

Tietotekniikan valintakoe

Muistutus aikatauluista

Juuri 2 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty

MAY1 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty Julkaiseminen sallittu vain koulun suljetussa verkossa.

Ohjelmoinnin perusteet Y Python

Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

Matematiikassa väitelauseet ovat usein muotoa: jos P on totta, niin Q on totta.

Ohjelmoinnin peruskurssi Y1

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla

Ohjelmoinnin peruskurssi Y1

Jaollisuus kymmenjärjestelmässä

Matematiikan tukikurssi

ASCII-taidetta. Intro: Python

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Transkriptio:

Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 6 Kerta 7 Kerta 2 1. Toteuta Pythonilla seuraava ohjelma: 2. Tulosta Pythonilla seuraavat luvut allekkain a. 0 10 (eli, näyttää tältä: 0 1 2 3 4 5 6 7 8 9 10 b. 0 100 c. 50 100 3. Laske Pythonilla muuttujiin seuraavat laskutoimitukset (nimeä muuttujat kuten haluat) a. 5 plus 5 b. 3 kertaa 3 c. 7 minus 3 d. 13 jaettuna 3.0 (huomaa, piste ja nolla!) e. 3 jaettuna 2 (huomaa, ei pistettä!) f. 10 jaettuna 5.0 g. 11 jaettuna 4.0 Tarkista saamasi tulokset tulostamalla muuttujien sisällöt 4. Määritä uusi tekstiä sisältävä muuttuja, esimerkiksi sana = "valitsemasi sana" Selvennä itsellesi, mitä seuraavat asiat tekevät sana + "!" "Hän sanoi " + sana "a" in sana

"ö" in sana 5. Tee muuttuja viisi, jonka arvo on ensiksi viisi. a. Lisää siihen kolme b. Vähennä siitä kaksi c. Kerro tulos neljällä Vaihda myös muuttujan arvoa. 6. Tulosta sanan kaikki kirjaimet (yksi riviä kohti) seuraavista sanoista a. kissa b. pallo c. kissalla on pallo d. tulosta samat asiat ISOILLA kirjaimilla 7. Tee ohjelma seuraaville säännöille a. Muuttujan arvo on 60 b. jos muuttujan arvo on yli 50, vähennetään muuttujasta viisi c. tulostetaan muuttujan arvo Kokeile myös muuttujan arvoilla 50, 40 ja 51 8. Seuraava vuokaavio esittää yksinkertaista algoritmia, toteuta se: Kokeile myös luvuilla 5, 6, 8, 9 9. Tee ohjelma seuraaville säännöille a. Muuttujan arvo on 75 b. jos muuttuja arvo on alle 60, muuttuja kerrotaan kahdella c. tulostetaan muuttujan arvo Kokeile myös arvoilla 55, 60, 59, 61 10. Tee ohjelma seuraaville säännöille: a. Muuttujan arvo on kissa b. Jos muuttujassa on kirjain s, tulostetaan On S! Kokeile myös sanoilla koira, pallo ja karkki 11. Toteuta Pythonilla seuraava Scratch ohjelma:

12. Laske 1 + 2 +. + 100 summa käyttäen toistolausetta (on: 5050) 13. Matti yrittää laskea lukujen 1 11 kertoman, eli 1 * 2 * 3 * * 11. Seuraava ohjelma ei kuitenkaan toimi, miksi? (älä käytä tietokonetta tämän selvittämiseen) kertoma = 0 for luku in range( 1, 12 ): kertoma * luku kertoma = luku print kertoma 14. Matti yrittää myös laskea lukujen 1,..., 1000 summaa, mutta ohjelma ei toimi. Miksei? (älä käytä tietokonetta tämän selvittämiseen) summa = 0 for luku in range( 1, 1001 ): summma = luku luku = luku + 1 print luku 15. Tulosta luvuista 1,, 10 kohdalla onko luku parillinen vai ei, eli näyttää tältä: 1 False 2 True 3 False 4 True 16. Laske a kirjainten määrä sanoissa a. kissa b. sahatavarasatama 17. Laske lukujen 1,, 10000 neljällä jaollisten lukujen määrä (on: 2500 ) 18. Laske lukujen 1,, 10000 kolmella jaollisten lukujen summa (on: 16668333) 19. Toteuta luvuille 1,, 100 jokaiselle seuraava sääntö: jos luku on jaollinen kolmella, tulosta fizz jos luku on jaollinen viidellä, tulosta buzz jos luku on jaollinen sekä kolmella että viidellä, tulosta fizzbuzz muuten tulosta luku itse Eli jotain tämän näköistä: 1 2 fizz 4 buzz

fizz 7 8 fizz buzz Kerta 3 1. Tulosta 199 kertaa sana Kekkonen 2. Vuosi on karkausvuosi, jos se on jaollinen 4:llä. Kuitenkin jos vuosi on jaollinen 100:lla, se on karkausvuosi vain silloin, kun se on jaollinen myös 400:lla. Tarkista onko vuosi 1999 karkausvuosi Tarkista onko vuosi 2000 karkausvuosi Tarkista onko vuosi 2001 karkausvuosi 3. Tulosta karkausvuodet välillä 1990 2050. 4. Tulosta seuraavat sanat käänteisesti (esimerkiksi: Matti > ittam) kissa pallo kissalla on punainen pallo 5. Matti kirjoitti ohjelman, jonka on tarkoitus tarkistaa onko luku alkuluku vai ei, eli onko se jaollinen muulla kuin itsellään ja ykkösellä. Ohjelma ei kuitenkaan toimi, miksi (älä käytä tietokonetta miettiessäsi tätä, voit tarkistaa lopuksi sillä)? luku = 11 for tarkastettava in range(2, luku ): alkuluku = False if luku % tarkastettava == 0: alkuluku = True if alkuluku: print luku, "ei ole alkuluku" else: print luku, "on alkuluku" 6. Käyttäen korjattua alkulukutarkistinta, laske kuinka monta alkulukua on välillä 2 1000. 7. Matti haluaa analysoida eduskuntavaalien tweettejä ja olettaa, että sieltä löytyisi paljon jytkyihin liittyviä lauseita. Tämän takia hän haluaa tulostaa sanan jytky jos annetussa tekstissä (=muuttujassa) on sana jytky. Tarkista seuraavilla lauseilla (tai keksi itse omiasi) Tosi iso jytky. Jytky oli perussuomalaisten vaaliase. Kokoomuksen vaaliase oli työnteon korostaminen. 8. Tee ohjelma joka tarkistaa onko kirjain vokaali. Ohjelman syöte pitäisi olla seuraava:

a on vokaali A on vokaali c ei ole vokaali 9. Tee ohjelma, joka laskee kuinka monta vokaalia on lauseessa. Keksi itse esimerkkilauseet. 10. Tee funktio, joka tulostaa lauseen Tämä funktio toimii 11. Tee funktio, joka saa syötteenä (parametrina) tulostettavan lauseen ja tulostaa sen. 12. Tee funktio, joka saa syötteenä (parametrina) tulostettavan lauseen ja kuinka monta kertaa se pitäisi tulostaa. Funktio tulostaa lauseen niin monta kertaa. 13. Tee alkulukutarkistimesta funktio, joka ottaa syötteenä (parametrina) tarkistettavan luvun ja palauttaa True jos kyseessä on alkuluku ja False jos kyseessä ei ole alkuluku. 14. Tee funktio, joka saa syötteekseen kaksi numeroa ja palauttaa niistä isomman. Esimerkiksi print isompi( 7, 9 ) 9 15. Tee funktio tuloraja joka saa syötteekseen opiskelijan tukikuukausien määrän ( x) ja palauttaa sallitun tulon määrän näillä tukikuukausilla. Kelan sivuilla on lisätietoa tulorajojen määräytymisestä. 16. Tee funktio kaanna( sana ), joka palauttaa sanan sanakäännettynä, esimerkiksi seuraavasti print kaanna( "Matti" ) ittam 17. Tee funktio, joka laskee maksettavan veron määrän tulojen perusteella. Katso verojen määräytyminen tuloverotaulukosta. 18. Tee funktiot vokaalija konsonantti, jotka kertovat onko syötteenä annettu kirjain vokaali tai konsonantti. 19. Käyttäen yllä olevia funktiota, tee funktio laske_sanasta( sana )joka tulostaa sanan kokonaispituuden, vokaalien pituuden ja konsonanttien pituuden. Esimerkiksi laske_sanasta("kissalla on viikset.") Kokonaispituus 20 merkkiä Vokaaleja 7 kappaletta Konsontantteja 10 kappaletta Kerta 4 1. Tulosta luvut 1 500, parillisille luvuille tulosta Hiphei ja parittomille luvuille tulosta luku. 2. Tee funktio, joka palauttaa kolmen luvun ryhmästä isoimman luvun. 3. Tee funktio joka laskee suorakulmion pinta alan. 4. Tulosta listan lukuja = [9,7,4,2,10,15]jokainen luku (=alkio). 5. Matti on kirjoittanut ohjelman, joka laskee lukujen summan. Se ei kuitenkaan toimi, miksi ei? lukuja = [9,7,4,2,10,15]

summa = 0 for luku in lukuja: summa = luku print summa 6. Laske myös listalla olevien lukujen keskiarvo. 7. Tee funktio, joka laskee kuinka moni luku on alle kymmenen 8. Sinulla on tweettejä listassa: tweetteja = ['Elvytä vai leikkaa? #hyvinvointitalous #sostearki #vaalit2015 http://instagram.com/p/1kniojshyp/', '@VilleVirkkunen: @SannaLauslahti on myös koulutuskysymyksissä kerrassaan pätevä ja nopeaälyinen. #lauslahti2015 #kokoomus #vaalit2015', 'Potkua, tsemppiä, iloa #loppukiriin @ElisaLientola @ElliLH @EeroVainio @Mika_Kari @kalliomaa @SariNiinisto @SirkkuHilden #lahti #vaalit2015', 'Antti Rinteen piiloviesti http://jennitamminen1.puheenvuoro.uusisuomi.fi/193316 antti ri nteen piiloviesti #vaalit2015'] a. Kuinka monessa tweetissä puhutaan jytkystä? b. Kuinka moni tweetti sisältää linkin? 9. Tee uusi lista ja lisää siihen luvut 3, 1, 4, 1, 5, 9, 2, ja 7. 10. Tee funktio, joka palauttaa funktion listan pienimmän luvun. Älä käytä Pythonissa valmiina olevaa min funktiota. 11. Sinulla on sanakirja ehdokkaat = { 'Stubb' : 'KOK', 'Rinne' : 'SDP', 'Soini' : 'PS', 'Haavisto' : 'Vihreat', 'Arhimäki' : 'VAS' } Tee Python koodi, joka ratkaisee seuraavat ongelmat a. Tulosta ehdokkaan Rinne puolue b. Mikä on ehdokkaan Soini puolue? c. Kuinka monta ehdokasta kokoomuksella on? d. Entäs Vihreillä? 12. Matti teki ohjelman, jonka on tarkoitus kerätä talteen kaikki lauseet, joissa esiintyy sana pallo. Mikä ohjelmassa on pielessä? lauseita = [ "Kissalla on pallo.", "Pallo oli pyöreä ja värikäs.", "Kissalla tosin oli oranssi turkki." ] kiinnostavia = [] etsi = "pallo" for i in lauseita:

if lauseita[i] in etsi: kiinnostavia.append( i ] print kiinnostavia 13. Kirjoita funktio, joka palauttaa aina merkkijonon pienellä kirjoitettuna. Esimerkiksi: print pieneksi("koiratkin ovat ihan KIVOJA.") koiratkin ovat ihan kivoja. 14. Käytä tekemääsi funktiota listalle sanoja ja tallenna nämä tulokset uuteen listaan. 15. Tee funktio, joka palauttaa opiskelijan saaman asumislisän määrän. Katso tarkemmat ohjeet Kelan sivuilta. 16. Opiskelijat maksavat vuokraa 150, 200, 250, 300, 175 ja 225 euroa. Lisää nämä vuokrat listaan ja laske niistä funktiosi avulla toiseen listaan opintotuen määrät. 17. Tarkemmin, sanakirjassa on opiskelijoita ja vuokria, Maija: 150, Matti: 200, Kalle: 250, Kaisa: 225. Tee tämän sanakirjan pohjalta uusi sanakirja, jossa laskettuna opintuen asumislisä kyseisille ihmisille. 18. Sinulla on lista lukuja: 1, 4, 7, 6, 2, 9, 3, 9, 10, 2, 1, 5, 7, 6. (voit keksiä itse enemmän lukuja). Tee ohjelma, joka kertoo sinulle mikä on listan suurin ja pienin luku. Käytä toistorakennetta apuna. 19. Laske myös kunkin yksittäisen luvun esiintymismäärä. Käytä sanakirjaa apuna tässä. Kerta 5 1) Mikä on lausekkeen 2x 3 + 4x 2 + 6x + 8 suurin arvo välillä 100, 100 (vain kokonaisluvuilla). Toteuta tämä lausekeen arvoon laskenta funktiolla. 2) Millä arvolla lausekkeen 5x 4 + 8x arvo on suurin välillä 150, 150? Toteuta tämä lausekeen arvoon laskenta funktiolla, ja kerää kertyneet arvot listaan. Etsi tästä listasta suurin arvo, älä käytä listan järjestämistä tai max funktiota. 3) Toteuta funktio kolmio( korkeus ), joka tulostaa korkeus muuttujan kokoisen kolmion, esimerkiksi kolmio( 4 )tulostaa seuraavan kuvion * *** ***** ******* 4) Oletetaan, että sinulla on funktiot naistennimet() palauttaa listan naisten nimiä, esimerkiksi [ Anna, Anne,...] vastaavasti funktio miestennimet()

funktio artikkelit()palauttaa listan, jossa on artikkeleiden tekstejä ja sen konservatiivi/liberaali aseman seuraavasti: [ { teksti : Loreum ipsulam, asenne : liberaali }, { teksti : ja niin pois päin, asenne : konservatiivi },... ] Toteuta näin viikon 1 tapaustutkimus ja kirjoita siitä Python ohjelmakoodi 5) Toteuta viikon 2 tapaustutkimus. Keksi itse tarvitsemasi funktiot ja niiden paluuarvot ja dokumentoi niitä (katso edellinen tehtävä). Kerta 6 Tutkitaan eduskuntavaalien 2015 Twiittejä joissa on mainittu sana jytky. Kaikki tälläiset tweetit ja niiden tekstit ovat tiedostossa jytky.txt, sen voi käydä läpi esimerkiksi seuraavalla koodilla: for rivi in open('jytky.txt'): rivi = rivi.strip() print rivi 1. Kuinka monta tweettiä on yhteensä? 2. Mistä puolueesta puhutaan eniten jytkyn yhteydessä? 3. Ovatko tweetit enemmän positiivisia vai negatiivisia? Alla oleva ohjelma antaa sinulle yksittäisen viestin mielialan, jos se on > 0 viesti oli positiivinen, jos < 0, negatiivinen import requests import re import urllib numeroerotin = re.compile(".*<b>([0 9])</b>.*<b>([+ ]?[0 9])</b>.*") ## anna teksti, ja saat arvion siitä onko sen äänensävy positiivinen tai negatiivinen ## palauttaa luvun äänensävystä, negatiiviset luvut ovat negatiivista mielialaa ## kokeile itse, http://sentistrength.wlv.ac.uk/results.php def mieliala( text ): ## käydään internetissä nettipalvelussa arvioimassa tätä data = urllib.urlencode( { 'text' : text, 'submit' : 'Detect+Sentiment+in+Finnish' } ) url = 'http://sentistrength.wlv.ac.uk/results.php?' + data sivu = requests.get( url )

## luetaan nettisivulta sekä positiivinen että negatiivinen fiilis numerot = numeroerotin.search( sivu.text ) positiivinen = int( numerot.group(1) ) 1 negatiivinen = int( numerot.group(2) ) + 1 ## päätellään oliko tänä viesti nyt positiivinen vai negatiivinen if 1.5 * negatiivinen > positiivinen: return negatiivinen else: return positiivinen print mieliala("minä rakastan sinua, mutta inhoan nykyistä poliittista ilmapiiriä.") 4. Verottaja on luovuttanut verotustietoja avoimena datana. Tiedostossa verot_2012.csv on vuoden 2012 yritysverojen maksuun liittyviä tietoja muodossa Verovuosi;Y-tunnus;Verovelvollisen nimi;verotuskunta;verotettava tulo;maksuunpannut verot yhteensä;ennakot yhteensät;veronpalautus;jäännösvero a. Mikä yritys maksoi eniten veroja? b. Mikä yritys sai eniten mätkyjä? 5. Tiedostossa jytky_verkko.txt on tietoa siitä, kuka tweettasi kenellekin: 1620879505 > 125463318 527224088 > 584610998 > 138152865 > 283159564 Käyttäjä 1620879505 on tweetannut käyttäjälle 125463318, vastaavasti käyttäjä 527224088 ei ole kohdistanut tweettiään kellekään. A. Kuinka monta tweettiä eivät olleet kohdennettuja toiselle käyttäjälle? B. Kuka oli aktiivisin tweettaaja? C. Kenelle lähetettiin eniten tweettejä? D. Kuka oli aktiivisin yksinäinen tweettaaja (eli, kuka lähetti eniten tweettejä, joita ei kohdistettu kellekään)? Kerta 7 1. Tee ohjelma, joka tulostaa jokaisen tweeetit sanan erilliselle riville. 2. Laske kuinka monta kertaa seuraavat sanat esiintyvät näissä tweeteissä: a. ja b. eduskunta c. vaalit 3. Mikä on yleisin sana tweeteissä?

4. Kirjoita ohjelma, jolla selvität eniten vastauksia saaneen aiheen Otakantaa.fi keskustelussa, kuten https://www.otakantaa.fi/fi FI/Selaa_hankkeita/Suomi_oikeusvaltioiden_joukkoon/Ver kosta_koottuja_quotoikeusmurhiaquot(27908) 5. Kirjoita ohjelma joka hakee kaikki kyseisen hankkeen keskustelu ( https://www.otakantaa.fi/fi FI/Selaa_hankkeita/Suomi_oikeusvaltioiden_joukkoon ) ja tulostaa kunkin keskustelun eniten aiheita keränneen osion