Tavoitteena on syventää
merkkijonojen käsittelyä ja
perustyyppien ymmärrystä
merkkijono eli str
kokonaisluku eli int
liukuluku eli float
# merkkijonoon tallennetaan keksitty summa
lasku = "2+15+3+8"
# luetaan merkkijonon osat listaan
# erottimena on plus-merkki
osat = lasku.split("+")
# alustetaan summa-niminen kokonaislukutyyppinen muuttuja
summa = 0
# käydään silmukassa läpi lista nimeltään osat,
for osa in osat:
# lisätään listan alkion arvo muuttujaan summa
# laskeminen edellyttää tyypinmuutoksen
summa += int(osa)
# tulostetaan lopuksi laskun tulos
print(summa)
tiedosto = open("lukuja.csv", "r")
for rivi in tiedosto:
luvut = rivi.split(";") # Tallennetaan rivin listaan nimeltään luvut. Erottimenahan on ;
summa = 0
for luku in luvut:
summa += int(luku)
print (summa)
tiedosto.close()
Tiedostojen peruskäyttöä on vaikea harjoitella pilvessä. Siksi kannattaa aluksi käyttää tietokoneen omaa levymuistia.
Teemu Sirkiän pdf-dokumentti Ohjelmoinnin perusteet Pythonilla.
Tiedostojen käyttöä alkaen sivulta 50.
Etene niin pitkälle kuin ehdit. Kysy rohkeasti apua!
Kopioi ylempi mallikoodi.
Kokeile sen toiminta.
Muuta yhteenlaskettavat luvut: esim. 1, 2, 3, 4, 5, 6, 7. Testaa ohjelman toimivuus.
Muuta edellinen laskutoimitus kertolaskuksi:
lasku = "2*15*3*8"
Tee koodin tarvittavat muutokset siten, että kertolasku myös lasketaan koodissa. Muuta koodissa esiintyvät sanat johdonmukaisiksi.
Kopioi alempi mallikoodi.
Tee Excelillä alapuolella oleva csv-tyyppinen tiedosto nimeltään lukuja.csv. Tallenna se samaan kansioon kuin edellinen koodi.
HUOMAA! Opettele tekemään Excelissä sarjoja. Eli kirjoita rivin alkuun kaksi lukua ja vedä sitten täyttökahvasta loput. Kysy, ellet osaa!
Kokeile sitten koodi.
Muuta koodia siten, että ainoastaan koko taulukon kaikkien lukujen summa ilmoitetaan.
a) Tallenna koodi eri nimellä (eli tee kopio koodista). Muuta koodi siten, että lasketaankin lukujen tulo.
b) Muuta koodi siten, että tulostetaankin kaikkien lukujen tulo eikä lukujen tuloa riveittäin.
(Tämä tehtävä on yhä useimmilla tekemättä. Tässä hieman helpotettu aloitus.)
Laadi oheinen tekstitiedosto nimeltään kauppalasku.txt.
kahvi 6.56
leipä 2.47
appelsiini 3.15
viikuna 2.15
jogurtti 1.34
Tee sitten koodi, joka tulostaa rivit näyttöön. Tämä on välivaihe ennen seuraavaa päätarkoitusta
Kehitä sitten koodia siten, että lopuksi tulostetaan näyttöön kauppalaskun yhteissumman.
Voit käyttää split() -metodia ilman parametria ja "heittää pois" ensimmäisen merkkijonon ja käyttää vain toisen merkkijonon, joka tulee muuttaa float-tyyppiseksi.
Ratkaise desimaalierottimeen (eli pisteeseen ja pilkkuun) liittyvä Excel-yhteensopimattomuus. Sillä Excelissä desimaalierottimena on oletusarvoisesti pilkku eikä piste.
Laadi siis kauppalasku Excelillä ja tallenna se nimellä kauppalasku.csv. Nyt on siis muutettava Excelin oletusarvoinen desimaalierotin pilkusta pisteeksi.