Tulostus ja tiedon kysyminen

print tulostaa arvoja, input lukee tekstiä. Näiden erottaminen auttaa ymmärtämään ohjelman ja käyttäjän vuorovaikutusta.

Tekstin ja arvojen tulostus

print erottaa pilkuilla annetut arvot oletuksena välilyönnillä ja päättää tulostuksen rivinvaihtoon. + yhdistää merkkijonoja, joten numero pitää tarvittaessa muuntaa str-funktiolla. F-merkkijono sijoittaa aaltosulkeissa olevat arvot tekstiin.

nimi = "Aino"
ika = 16
print("Nimi:", nimi, "Ikä:", ika)
print("Ikä: " + str(ika))
print(f"Hei, {nimi}!")

Tulostus (ilman syötteiden kysymystekstejä):

Nimi: Aino Ikä: 16
Ikä: 16
Hei, Aino!

Syötteen lukeminen

input palauttaa aina merkkijonon. Tavallisessa päätteessä sen argumentti on kysymysteksti. KoodiGurun Aja koodi näyttää myös syötteet; kurssin tarkistukset eivät vertaa kysymystekstejä. Anna jokaiselle input-kutsulle oma syöte järjestyksessä.

nimi = input("Anna nimi: ")
ika = int(input("Anna ikä: "))
print(f"{nimi} on ensi vuonna {ika + 1} vuotta.")

Anna syötteiksi järjestyksessä:

Aino
16

Tulostus (ilman syötteiden kysymystekstejä):

Aino on ensi vuonna 17 vuotta.

Tulosteen muotoilu

:.2f näyttää kaksi desimaalia. Se muotoilee tekstin eikä muuta alkuperäistä lukua. Python-koodissa ja float-syötteessä desimaalierotin on piste. Myös format-metodi toimii.

hinta = 3.5
print(f"Hinta: {hinta:.2f}")
print("Hei, {}!".format("Aino"))
print("a", "b", sep="-")

Tulostus (ilman syötteiden kysymystekstejä):

Hinta: 3.50
Hei, Aino!
a-b

Lainausmerkit ja rivinvaihto

Yksittäinen ja kaksinkertainen lainausmerkki toimivat samalla tavalla tekstin rajoina. Valitse eri ulompi merkki, jos tekstissä on lainaus. Pakomerkki \n tarkoittaa rivinvaihtoa.

print('Hän sanoi: "Hei!"')
print("Ensimmäinen\nToinen")

Tulostus (ilman syötteiden kysymystekstejä):

Hän sanoi: "Hei!"
Ensimmäinen
Toinen

Kokeile itse

Miksi inputista saatu "5" ja "2" yhdistyvät tekstiksi "52"?

Vastaus ja perustelu

Molemmat ovat merkkijonoja. int-arvoiksi muunnettuna niiden summa on 7. Virheellinen numeroteksti aiheuttaa ValueError-poikkeuksen.

Suorita koodiesimerkit yksi kerrallaan. Jokainen esimerkki sisältää tarvitsemansa määrittelyt. Vertaa omaa ennustettasi tulosteeseen ennen seuraavaan aiheeseen siirtymistä.

Katso aihevideo YouTubessa