Tietoa käyttäjältä
Syöte tarkoittaa tietoa, jonka ohjelman käyttäjä antaa ohjelmalle. Pythonissa voimme lukea rivin käyttäjän antamaa syötettä input
-komennolla. Komento näyttää samalla viestin käyttäjälle, jossa voi pyytää syötettä.
Esimerkiksi seuraava ohjelma lukee käyttäjän nimen input
-komennolla ja
tulostaa ruudulle tervehdyksen print
-komennolla:
nimi = input("Anna nimesi: ")
print("Moi vaan, " + nimi)
Ohjelman suoritus voisi näyttää esimerkiksi seuraavalta (käyttäjän kirjoittama syöte on merkitty punaisella):
Anna nimesi: Pekka Python Moi vaan, Pekka Python
Ohjelman tulostama teksti riippuu siis osittain käyttäjän syötteestä. Niinpä ohjelman suoritus voisi näyttää myös tältä:
Anna nimesi: Outi Ohjelmoija Moi vaan, Outi Ohjelmoija
Ohjelmassa esiintyvä sana nimi
on muuttuja. Muuttujalla tarkoitetaan ohjelmoinnissa paikkaa, johon voidaan tallentaa jokin arvo kuten merkkijono tai lukuarvo. Tämä arvo voidaan myöhemmin lukea tai sitä voidaan muuttaa.
Muuttujaan viittaaminen
Muuttujaan voidaan viitata ohjelmassa useasti:
nimi = input("Anna nimesi: ")
print("Moi, " + nimi + "!")
print(nimi + " on aika kiva nimi.")
Esimerkkitulostus, kun käyttäjä antaa nimen Pauli Python
:
Anna nimesi: Pauli Python Moi, Pauli Python! Pauli Python on aika kiva nimi.
Tarkastellaanpa tulostuskomentoja vähän tarkemmin: print
-komennolle annetaan merkkijono, johon on yhdistetty valmista tekstiä ja käyttäjän syöte. Nämä on yhdistetty toisiinsa +
-operaattorilla,
joka yhdistää kaksi merkkijonoa yhdeksi uudeksi merkkijonoksi.
Merkkijonoja voidaan yhdistää muuttujien arvoihin vapaasti:
nimi = input("Anna nimesi: ")
print("Moi " + nimi + "! Varmistan vielä: nimesi on siis " + nimi + "?")
Esimerkkitulostus, kun käyttäjä antaa nimen Erkki Esimerkki
:
Anna nimesi: Erkki Esimerkki Moi Erkki Esimerkki! Varmistan vielä: nimesi on siis Erkki Esimerkki?
Useampi kuin yksi syöte
Ohjelmassa voi lukea useamman eri syötteen. Huomaa, että jokainen input
-komennon kysymä merkkijono tallennetaan eri muuttujaan:
nimi = input("Anna nimesi: ")
sposti = input("Anna sähköpostiosoitteesi: ")
lempinimi = input("Anna lempinimesi: ")
print("Varmistetaan vielä, että tiedot menivät oikein")
print("Nimesi: " + nimi)
print("Sähköpostiosoitteesi: " + sposti)
print("Lempinimesi: " + lempinimi)
Esimerkki ohjelman suorituksesta:
Anna nimesi: Keijo Keksitty Anna sähköpostiosoitteesi: keijo99@example.com Anna lempinimesi: Keke Varmistetaan vielä, että tiedot menivät oikein Nimesi: Keijo Keksitty Sähköpostiosoitteesi: keijo99@example.com Lempinimesi: Keke
Jos samaan muuttujaan luetaan syöte useamman kerran, uusi arvo ylikirjoittaa aina edellisen. Esimerkiksi:
osoite = input("Mikä on osoitteesi? ")
print("Asut siis osoitteessa " + osoite)
osoite = input("Anna uusi osoite: ")
print("Osoite on nyt " + osoite)
Esimerkkisuoritus:
Mikä on osoitteesi? Pythonpolku 1 A 10 Asut siis osoitteessa Pythonpolku 1 A 10 Anna uusi osoite: Uusikatu 999 Osoite on nyt Uusikatu 999
Jos samaan muuttujaan luetaan kaksi syötettä peräkkäin, ei ensimmäisenä syötettyyn arvoon siis pääse enää käsiksi:
osoite = input("Mikä on osoitteesi? ")
osoite = input("Anna uusi osoite: ")
print("Osoite on nyt " + osoite)
Esimerkkisuoritus:
Mikä on osoitteesi? Pythonpolku 10 Anna uusi osoite: Ohjelmoijanraitti 230 Osoite on nyt Ohjelmoijanraitti 230
Kertauskysely tämän osan asioihin liittyen:
Log in to view the quiz