CHEM-A2600 - Kemiantekniikan ohjelmointikurssi, Luento-opetus, 22.4.2024-28.6.2024
This course space end date is set to 28.06.2024 Search Courses: CHEM-A2600
Python-oppimateriaali (CHEM-A2600)
Tulostaminen (print) ja syötteen lukeminen (input)
Tulostaminen print-funktiolla
Pythonissa voi tulostaa tietoa ruudulle print-funktiolla:
# Tulostetaan merkkijono "Terve!" print("Terve!")
tulostaa:
Terve!
(Funktioiden toimintaperiaatteisiin perehdymme tarkemmin kurssin toisella kierroksella. Nyt ensimmäisellä kierroksella hyödynnämme vain muutamia Pythonin sisäänrakennettuja funktioita, joiden käyttö on yhtä suoraviivaista kuin print-funktion käyttö.)
Otetaan toinen esimerkki, jossa print-funktiolle annetaan useita eri arvoja pilkulla erotettuna. Se tulostaa molemmat arvot niin, että niiden välissä on välilyönti:
# Näin voimme tulostaa laskutoimitusten tuloksia print("11*11 on", 11*11)tulostaa:
11*11 on 121
Laskutoimituksista: Halutessasi voit tehdä laskutoimituksia myös suoraan Spyderin Python-konsolissa. Kokeile kirjoittaa konsoliin esimerkiksi 5*5 ja paina Enter
Isot ja pienet kirjaimet
Pythonissa isot ja pienet kirjaimet ovat merkitseviä. Käsky print on siis eri asia kuin Print tai PRINT.
Käyttäjän syötteen lukeminen input-funktiolla
Käyttäjältä voi kysyä tietoja input-funktiolla:
# Kysytään käyttäjän nimeä nimi = input("Mikä nimesi on?") print("Hieno nimi sinulla", nimi)
Lopputulos:
Mikä nimesi on?Marsu
Hieno nimi sinulla Marsu
Esimerkissä siis input-funktiolla kysytään käyttäjältä nimeä ja käyttäjän antama merkkijono tallennetaan muuttujaan nimi. Sen jälkeen muuttujan arvo voidaan tulostaa print-funktion avulla. Muuttujiin voidaan säilöä tietoa ja niistä kerrotaan lisää seuraavassa luvussa.
Kysymys ja vastaus tulostuvat selkeämmin, jos lisätään välilyönti merkkijonon loppuun:
nimi = input("Mikä nimesi on? ") print("Hieno nimi sinulla", nimi)
Lopputulos:
Mikä nimesi on? Marsu
Hieno nimi sinulla Marsu
Kaikkein selkeintä on yleensä käyttää rivinvaihtoa "\n" kysymyksen lopussa
nimi = input("Mikä nimesi on?\n") print("Hieno nimi sinulla", nimi)
Lopputulos (Huom! Tästä lähtien käyttäjän input-funktiolle antama syöte merkitään ">"-merkillä):
Mikä nimesi on?
> Marsu
Hieno nimi sinulla Marsu
Kolmas esimerkki, jossa kysytään kaksi eri tietoa ja tulostetaan ne molemmat:
nimi = input("Mikä nimesi on?\n")
kaveri = input("Mikä kaverisi nimi on?\n")
print("Mukava tavata", nimi, "ja", kaveri)
Lopputulos:
Mikä nimesi on?
> Marsu
Mikä kaverisi nimi on?
> Jomppa
Mukava tavata Marsu ja Jomppa
Tärkeää: input-funktio palauttaa aina merkkijonon
input-funktio lukee käyttäjältä aina ns. merkkijonon (engl. string). Tämä koodi:
luku = input("Anna luku niin kerron sen kahdella:\n") print("Antamasi luku", luku, "kerrottuna kahdella on", 2 * luku)
ei siis annakaan odotettua lopputulosta:
Anna luku niin kerron sen kahdella: > 5 Antamasi luku 5 kerrottuna kahdella on 55
Tämä ongelma ratkeaa seuraavassa luvussa, jossa opimme käsitteet muuttuja ja muuttujan tyyppi.
input-funktio CodeRunner-tehtävissä
CodeRunner-tehtävissä input-funktion kysymystä (esim. "Anna nimi: \n") ei tarkasteta, mutta kannattaa käyttää selkeitä kysymyksiä, jotta kirjoittamasi koodi on selkeää ja luettavaa.
Lisätietoa print-funktiosta: Rivinvaihdot ja end-parametri
print-funktio lisää tekstin loppuun oletuksena rivinvaihdon "\n". Niitä voi myös tulostaa itse lisää:
# Tulostetaan kaksi alkuainesymbolia ja kolme rivinvaihtoa ("\n") print("Jaloja kaasuja: He ja Ne\n\n\n") # Tulostetaan pari kaasua lisää print("Ja lisäksi: Ar ja Kr")
Tulostaa
Jaloja kaasuja: He Ne
Ja lisäksi: Ar Kr
Rivinvaihdon voi muuttaa joksikin muuksi merkiksi print-funktion end-parametrillä:
print("Rivi 1.") print("Rivi 2. Rivien väliin tuli rivinvaihto.") print("Teksti 1.", end = " ") print("Teksti 2. Tekstien väliin tuli välilyönti.")
tulostaa
Rivi 1.
Rivi 2. Rivien väliin tuli rivinvaihto.
Teksti 1. Teksti 2. Tekstien väliin tuli välilyönti.