Tässä tehtävässä harjoitellaan edellisellä kierroksella opittujen asioiden lisäksi erityisesti seuraavia asoita:
Tee Eclipsessä uusi projekti, jonka nimi on tehtava2_4. Luo sitten tähän projektiin moduuli myyntitiedot ja kirjoita siihen ohjelma, joka ratkaisee alla kuvatun ongelman.
Nettikauppa myy musiikkitiedostoja. Yhden tiedoston hinta on yleensä tasan 1 euroa, mutta jos asiakas ostaa kerralla 10-19 tiedostoa, saa hän 10 % alennuksen kokonaishinnasta. Jos asiakas ostaa kerralla vähintään 20 tiedostoa, saa hän 20 % alennuksen yhteishinnasta.
Kirjoita ohjelma, joka pyytää käyttäjää ensin syöttämään eri kerroilla myytyjen kappaleiden määrät. (Jos esim. ensimmäisen myyntikerran kappalemäärä on 19, tarkoittaa se sitä, että yksi asiakas on ostanut kerralla 19 musiikkitiedostoa.) Tämän jälkeen ohjelma laskee kaupan kokonaismyynnin arvon kaikista annetuista myyntikerroista yhteensä. Huomaa, että mahdollinen alennus lasketaan jokaisesta myyntikerrasta erikseen, ei kaikkien myyntikertojen yhteismäärästä. Katso alla olevasta esimerkkiajosta tarkemmin, millainen ohjelman tulostuksen pitää olla. Käyttäjä lopettaa tietojen antamisen antamalla negatiivisen luvun. Tätä lukua ei enää lasketa mukaan kokonaismyyntiin.
Vinkki: Ensimmäisen myyntikerran kappalemäärän lukeminen kannattaa sijoittaa ohjelmassa ennen toistokäskyä. Seuraava arvo kannattaa lukea toistokäskyn sisällä aina sen jälkeen, kun edellisen myyntikerran arvo on laskettu.
Ole tarkka siitä, että ohjelmasi tulostus on täsmälleen (välimerkkejä
myöten) alla olevan mallin mukainen. Muista erityisesti lisätä
rivinvaihtomerkki raw_input
-käskyissä käyttäjälle
annettavan pyynnön loppuun. (Näin ohjelman tarkastus Goblinilla
sujuu ilman ylimääräisiä ongelmia.) Ohjelman tulostamia desimaalilukuja
ei tarvitse muotoilla, vaan voit antaa ohjelman tulostaa luvut
Python-tulkin käyttämällä oletustarkkuudella. Voit myös olettaa,
että käyttäjä antaa myyntikertojen kappalemääriksi kokonaislukuja ja
että käyttäjän antamat luvut ovat järkeviä.
Palauta Gobliniin tiedosto myyntitiedot.py.
[ohjelman suoritus alkaa] Anna eri myyntitapahtumien kappalemaarat. Lopeta negatiivisella arvolla. Anna ensimmaisen myyntikerran kappalemaara. 13 Anna seuraavan myyntikerran kappalemaara. 25 Anna seuraavan myyntikerran kappalemaara. 9 Anna seuraavan myyntikerran kappalemaara. 22 Anna seuraavan myyntikerran kappalemaara. 5 Anna seuraavan myyntikerran kappalemaara. 1 Anna seuraavan myyntikerran kappalemaara. 17 Anna seuraavan myyntikerran kappalemaara. 44 Anna seuraavan myyntikerran kappalemaara. -2 Myynti yhteensa 114.8 euroa. [ohjelman suoritus päättyy]
[ohjelman suoritus alkaa] Anna eri myyntitapahtumien kappalemaarat. Lopeta negatiivisella arvolla. Anna ensimmaisen myyntikerran kappalemaara. -12 Myynti yhteensa 0.0 euroa. [ohjelman suoritus päättyy]
Värikoodit:
Sininen: Syöte käyttäjältä
Vihreä: Ohjelman tuloste
Punainen: Erityishuomatus: ei tulosteta