Luku3 Käyttäjän syöte

Syöte

Kun teet tietokoneella erilaisia asioita vaikkapa selaat internetiä tai pelaat pelejä, niin käytät tietokoneen näppäimistöä ja hiirtä antamaan tietokoneelle syötteitä.

Käyttäjän syöte onkin tärkeä osa ohjelmointia, sillä se mahdollistaa ohjelman vuorovaikutuksen käyttäjän kanssa. Käyttäjän syöte voi olla erilaisia näppäimistöltä annettuja arvoja, tekstiä tai numeroita. Syötettä voidaan käyttää esimerkiksi laskemaan käyttäjän antamia arvoja tai tulostamaan käyttäjän antamaa tekstiä.

Pythonissa käyttäjän syöte voidaan ottaa käyttöön input()-komennolla. input()- komento ottaa käyttäjän syötteen vastaan ja palauttaa sen merkkijonona. Esimerkiksi:

# Otetaan käyttäjän syöte vastaan ja tallennetaan se muuttujaan 
# sivusto
sivusto = input("Mikä on paras sivusto opettamaan ohjelmointia?")
# Tulostetaan käyttäjän antama syöte
print("Paras sivusto on:", sivusto)

Voit kokeilla yllä olevaa koodia alla olevassa koodieditorissa.

Koodieditori

Konsoli

Kun suoritat yllä olevan koodin, niin ohjelma kysyy sinulta mikä on paras sivusto opettamaan ohjelmointia alla olevan kuvan mukaisesti.

Käyttäjän syöte

Voit kirjoittaa syöte kenttään haluamasi vastauksen ja painaa ok. Tämän jälkeen ohjelma tulostaa sinulle vastauksen konsoliin kertomasi syötteen mukaisesti, kuten alla olevassa kuvassa.

Konsoli

Esimerkkitulostus

Paras sivusto on: Algoritmi Akatemia

Kun käyttäjän syötettä kysytään ohjelmassa input()-komennolla, niin syöte luetaan merkkijonona. Jos haluat käyttäjän syötteen olevan esimerkiksi kokonaisluku, niin sinun tulee muuttaa syöte kokonaisluvuksi int()-komennolla. Esimerkiksi:

# Otetaan käyttäjän syöte vastaan ja muutetaan se kokonaisluvuksi
ika = int(input("Kuinka vanha olet?"))
# Tulostetaan käyttäjän antama syöte
print("Olet", ika, "vuotta vanha.")

Tulostaa seuraavanlaisesti (riippuen antamastasi syötteestä):

Konsoli

Esimerkkitulostus

Olet 12 vuotta vanha.

Kokeile seuraavaksi alla olevassa koodieditorissa seuraavia ohjelmia.

# Ohjelma1
numero1 = input("Anna ensimmäinen numero:")
numero2 = input("Anna toinen numero:")
print("Numeroiden summa on:", numero1 + numero2)
# Ohjelma2
numero1 = int(input("Anna ensimmäinen numero:"))
numero2 = int(input("Anna toinen numero:"))
print("Numeroiden summa on:", numero1 + numero2)

KoodiEditori

Konsoli

Huomasitko mitä tapahtui? Osaatko perustella miksi näin kävi?

Muita tyyppimuunnoksia

Käyttäjän syötettä voidaan muuttaa myös muiksi tyyppimuodoiksi, kuten desimaaliluvuksi float()-komennolla. Esimerkiksi:

# Otetaan käyttäjän syöte vastaan ja muutetaan se desimaaliluvuksi
pituus = float(input("Anna pituutesi metreinä:"))
# Tulostetaan käyttäjän antama syöte
print("Olet", pituus, "metriä pitkä.")

Tulostaa seuraavanlaisesti (riippuen antamastasi syötteestä):

Konsoli

Esimerkkitulostus

Olet 1.75 metriä pitkä.

Mitä jos haluaisit pyöristää desimaaliluvun yhden desimaalin tarkkuudella? Tämä onnistuu round()-komennolla. Esimerkki:

# Otetaan käyttäjän syöte vastaan ja muutetaan se desimaaliluvuksi
pituus = float(input("Anna pituutesi metreinä:"))
# Pyöristetään pituus yhden desimaalin tarkkuudella
pyoristetty_pituus = round(pituus, 1)
# Tulostetaan käyttäjän antama syöte
print("Olet", pyoristetty_pituus, "metriä pitkä.")

Tulostaa seuraavanlaisesti (riippuen antamastasi syötteestä):

Konsoli

Esimerkkitulostus

Olet 1.8 metriä pitkä.

Mahtavaa! Nyt voit tehdä käyttäjän kanssa vuorovaikutteisia ohjelmia.

Tehtäviä

Automaattisesti tarkistavat tehtävät eivät ole vielä käytössä syötettä pyytäessä käyttäjältä. Voit kuitenkin kokeilla alla olevia tehtäviä koodieditorissa ja katsoa itse tulostuuko vastauksesi oikein.

  1. Tee ohjelma, joka kysyy käyttäjältä nimen ja tulostaa sen konsoliin.

  2. Tee ohjelma, joka kysyy käyttäjältä pituuden metreinä ja tulostaa sen senttimetreinä konsoliin.

  3. Tee ohjelma, joka kysyy käyttäjältä suorakulmion leveyden ja korkeuden ja laskee niiden perusteella suorakulmion pinta-alan ja tulostaa sen konsoliin.

Konsoli