Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Ohjelmointia teknisille viestijöille

Samankaltaiset esitykset


Esitys aiheesta: "Ohjelmointia teknisille viestijöille"— Esityksen transkriptio:

1 Ohjelmointia teknisille viestijöille
Tekninen viestintä Ohjelmointia teknisille viestijöille

2 Tekninen viestintä Kertaus

3 Kertaus print()-aliohjelmalla voit tulostaa tekstiä. Tulostettava teksti annetaan aliohjelman parametrina: print("Kaunis ilma tänään") Tekstiin voi sijoittaa ulkopuolisia elementtejä %s- (merkkijonot), %d- (kokonaisluvut) ja %f- (murtoluvut) operaattoreiden avulla. Esim: print("Tässä on %s lause, johon sijoitetaan %s" % ("pitkä","sana")) Koodinvaihtomerkillä voi kiertää erikoismerkkejä tai muokata tulostetta. [\"] ohittaa lainausmerkin, [\t] lisää sarkaimen ja [\n] rivinvaihdon. Muuttujaan voi tallentaa viittauksen tiettyyn arvoon. Tähän arvoon voi myöhemmin viitata kätevästi muuttujan nimellä.

4 Tekninen viestintä Syötteet

5 Syötteet – Sananen käyttäjältä
Käyttäjää voidaan pyytää syöttämään tietoja input()-aliohjelman avulla input()-aliohjelmalle annetaan parametrina teksti, joka käyttäjälle halutaan näyttää Tulostettuuan tekstin, aliohjelma odottaa että käyttäjä syöttää tekstiä input("Syötä käyttäjänimi: ")

6 Syötteet – Sananen käyttäjältä
Kun käyttäjä painaa enteriä, aliohjelma palauttaa käyttäjän syöttämän tekstin Jotta käyttäjän syöttämä teksti saataisiin talteen, täytyy se tallentaa muuttujaan: username = input("Syötä käyttäjänimi: ")

7 Pitkäkissa. Tallennathan tämän tiedon?
Wow, kuka olette? Pitkäkissa. Tallennathan tämän tiedon? ”Hra. Input” En, vaan välitän tiedon eteenpäin, neiti Pitkäkissa! ”Käyttäjä” kthanksbye, minä pidän tästä tiedosta hyvää huolta ”Hra. muuttuja”

8 Syötteet – Sananen käyttäjältä
Käyttäjäpalautteen perusteella ohjelmia voi personoida: Tai suorittaa tehtäviä: username = input("Syötä käyttäjänimi: ") print ("Tervetuloa palveluun " + username) TAI print ("Tervetuloa palveluun %s" % username) luku = input("Syötä luku, jonka haluat kertoa kymmenellä: ")

9 Syötteiden tyyppi Input-aliohjelmalla tallennetuista muuttujista tulee automaattisesti merkkijonoja: print ("Minä olen Calculon - laskukone") luku = input("Syöta luku, jonka haluat kertoa viidellä: ") tulo = luku * 5 print ("Tulos on " + tulo)

10 Tyypin muuntaminen Jos muuttujien tyyppiä haluaa muuttaa, täytyy muuttujalle tehdä tyyppimuunnos Tyyppimuunnoksia varten Pythonissa on omat aliohjelmansa, esim. str(), int() ja float() Aliohjelmalle annetaan parametrina arvo joka halutaan muuntaa, ja aliohjelma palauttaa muunnetun arvon

11 Syötteiden tyyppi input()-aliohjelman tavoin, myös muunnosaliohjelmien palauttama tieto täytyy tallentaa muuttujaan, jotta sitä voi käsitellä nimi = input("Syötä nimesi: ") luku = input("Syötä ikäsi: ") luku = int(luku) ikaPaivina = luku * 365 print("Moi", nimi) print("Olet " + str(ikaPaivina) + " päivää vanha") TAI print("Olet", ikaPaivina, "päivää vanha") Pro Tip! Jos muuntelu tympii, voi tulosteissa arvot yhdistää pilkuilla. Python hoitaa tällöin tarvittavat muunnokset ja lisää arvojen väliin välilyönnit!

12 Syötteiden tyyppi Syötteen pyytämisen ja muunnoksen voi myös yhdistää:
Python suorittaa ensin input()-aliohjelman, palauttaa sen tuloksen int()-aliohjelmaan. int()-aliohjelman palauttama arvo tallentuu tämän jälkeen luku-muuttujaan luku = int(input("Syötä ikäsi: "))

13 Hei taas, tarvitsisin numeron!
”19” ”Hra. Input” Mein Gott! Tuohan on merkkijono ja täytyy muuntaa! ”Käyttäjä” Pelko pois, minä kyllä muunnan syötteet Ja tuttuun tapaan, minä tallennan arvon Neiti int() ”Hra. muuttuja”

14 Harjoitus Tee tehtävä 1

15 Vastaukset a) nimi = input("Ilmoita nimesi: ") print ("Hauska tavata,", nimi) b) nimi = input("Ilmoita nimesi: ") ika = input("Ilmoita ikäsi: ") print ("Hauska tavata,", nimi + ". Olet %s-vuotias" % ika) c) paino = int(input("Paljonko painat: ")) painoKuussa = paino * 0.17 print ("Painosi kuun pinnalla olisi %0.1f kiloa" % painoKuussa) d) ika = int(input("Kuinka vanha olet: ")) ikaSekuntia = ika * 365 * 24 * 60 * 60 print ("Olet %d sekunnin ikäinen" % ikaSekuntia)

16 Tekninen viestintä Ehtolauseet

17 if & else Jotta ohjelma voisi reagoida paremmin esim. käyttäjän syötteisiin, ohjelmiin voidaan sijoittaa ehtorakenteilla Yksi yleisimmistä ehtorakenteista on if-lause if-lause tarkastaa onko lauseen ehto tosi vai epätosi

18 Jossittelua Jos lauseeseen sijoitettu ehto on tosi, ohjelma siirtyy suorittamaan ehdollistettua ohjelmahaaraa. Jos ehto on epätosi, ohjelma voi: palata suorittamaan ohjelman päähaaraa ehtorakenteeseen voidaan lisätä ohjelmahaara joka kertoo mitä tehdään jos ehto on epätosi

19 Tarkista, onko jääkaapissa ruokaa!
Jos ei, snägärille! Jos on, syö! Tämän jälkeen voit jatkaa muiden askareiden parissa!

20 Jossittelua Ehtojen arvoja verrataan vertailuoperaattoreilla:
Vertailun tulos on aina tosi tai epätosi == yhtä kuin != erisuuri kuin > suurempi kuin < pienempi kuin >= suurempi tai yhtä suuri kuin <= pienempi tai yhtä suuri kuin

21 Jossittelua 21 < 34 myAge >= ageLimit myName == "Mika"
userGuess != 42 price <= lowerLimit

22 Kirjoitusasu if arvo1 > arvo2 : Tee jotakin Tee jotakin muuta else

23 Kirjoitusasu age = int(input("How old are you?")) if age >= 18:
Jos käyttäjän on yli 18-vuotias, toivota käyttäjä tervetulleeksi. age = int(input("How old are you?")) if age >= 18: print ("Welcome to the tavern!") else: print ("Ha! No beer for you!") Muutoin, käännytä käyttäjä ovella

24 Ohjelmalohkot ja sisennykset
Pythonissa ohjelmalohkot on merkittävä johdonmukaisesti sarkaimella tai välilyönneillä. Jos lohkoja päätetään sisentää esim. sarkaimella, tulee valittua mallia noudattaa koko ohjelmassa. myName = ”Zaphod” mOfLife= 40 if mOfLife > 22: mOfLife += 2 if myName == “Zaphod”: print (“Hi %s!” % myName) print (“The meaning of life is %d” % mOfLife) else: print (“Hello, %s!” % myName) print (“We don’t know the meaning of life”) print (“End communication”)

25 Ohjelmalohkot ja sisennykset
Jos sisennyksessä on poikkeuksia, Python-tulkki keskeyttää ohjelman suorittamisen: myName = ”Zaphod” mOfLife= 40 if mOfLife > 22: mOfLife += 2 if myName == “Zaphod”: print (“Hi %s!” % myName) print (“The meaning of life is %d” % mOfLife) else: print (“Hello, %s!” % myName)

26 Harjoitus Tee tehtävä 2

27 Vastaukset a) nimi = input("Kerro nimesi: ") if nimi == "Dweezil": print ("Onpa mainio nimi!") b) nimi = input("Kerro nimesi: ") if nimi == "Mika": else: print ("Oletko harkinnut nimesi vaihtamista parempaan?") c) arvaus = input("Arvaa mitä lukua ajattelen: ") luku = "7" if arvaus == luku: print ("Arvasit oikein!") print ("Väärin meni. Parempi onni ensi kerralla")

28 Vastaukset d) tunnus = input("Tämä on huippusalainen tietojärjestelmä. Syötä tunnussana: ") tunnussana = "TrustNo1" if tunnus == tunnussana: print("Pääsit kirjautumaan järjestelmään!")

29 Joko, tai, tai sitten Ohjelmiin saadaan lisää tarkasteltavia vaihtoehtoja käyttämällä elif-lausetta: elif-lauseita voi lisätä ehtorakenteeseen niin paljon kuin tehtävä vaatii if age >= 18: print ("Welcome to the tavern!") elif age == 16: print ("Come again in two years") elif age == 17: print ("One more year!") else: print ("No beer for you, Sonny Jim!")

30 Ehtojen tarkentaminen
Ehtoja voi tarkentaa yhdistelemällä useita ehtoja ehtolauseeseen loogisten operaattoreiden and ja or avulla: if age >= 18 and age < 35: print ("Welcome to the tavern!") elif age > 35: print ("Shouldn't you be at home with your family?") elif age == 16 or age == 17: print("No beer for you!") else: print ("Shouldn't you be in bed at this hour?")

31 Ehtojen tarkentaminen
Jos ehdossa käytetään and-operaattoria, molempien ehtojen tulee täyttyä, jotta sisempi ohjelmalohko suoritetaan or-operaattoria käytettäessä vain toisen ehdon tarvitsee täyttyä, jotta sisempi ohjelmalohko suoritetaan if age >= 18 and age < 35: if age >= 18 or bribe > 50:

32 Ehtojen tarkentaminen
and- ja or-avainsanoja voi myös yhdistää samaan ehtolauseeseen: age = int(input("Kuinka vanha olet? ") name = input("Kerro nimesi: ") if (age >= 18 and age < 35) or (name == "Jasso Laamanen”): print ("Tervetuloa!") elif age > 35 and age < 70: print ("Eikö sinun pitäisi olla kotosalla?") elif age == 16 or age == 17: print("Sinulle ei vielä tarjoilla!") else: print ("Eikö sinun pitäisi olla nukkumassa?") Jos asiakkaan ikä on tai nimi on Jasso Laamanen, toivotetaan asiakas tervetulleeksi Yli 35- ja alle 70-vuotiaat käännytetään perheensä luo 16- ja 17-vuotiaille ei anniskella Muiden pitäisi olla jo nukkumassa

33 Merkkijonot ehdoissa Jos ehtona käytetään merkkijonoa, vertailukohtana ei aina tarvitse käyttää kokonaista merkkijonoa Merkkijonon sisältämiä merkkejä voi tarkastella in-operaattorin avulla: Jos tiettyä merkkijonoa ei toivota vastaukseksi, voidaan in-operaattorin eteen liittää not-operaattori: name = "Jasso Laamanen" if "Jasso" in name: print ("Kato, Laamanen!") if "Jasso" not in name:

34 Merkkijonot ehdoissa Merkkijonoja vertailtaessa voi joskus olla tarpeen sallia sekä pienellä että isolla alkukirjaimella kirjoitettu versio sanasta Pythonin upper() ja lower() –aliohjelmien avulla voi kirjainkoon kiertää merkkijonoja vertailtaessa Aliohjelmat muuntavat muuttujan arvon sitä vertailtaessa, joten kirjainkoolla ei ole merkitystä. Jos muunnetun arvon haluaa talteen, voi sen tallentaa muuttujaan inputName = input("Kerro nimesi: ") userName = "ESKO NOPPA" if inputName.upper() == userName: print ("Hei, oikea nimi!")

35 Ehtojen tarkentaminen
Myös ehtojen sisään voi sijoittaa ehtoja: name = input("Enter name: ") userLevel = "SuperUser" if name == "Admin": if userLevel == "Admin": print ("Welcome, Admin") elif userLevel == "Hacker": print ("Welcome, Kevin") elif userLevel == "SuperUser": print ("What is thy bidding?") else: print ("Get outta here!")

36 Harjoitus Tee tehtävä 3

37 Vastaukset a) vast = ”Bujumbura" arv = input ("Mikä on Burundin pääkaupunki? ") if arv.lower() == vast.lower(): print("Oikein!") else: print("Väärin meni") b) luku = int(input("Syötä luku: ")) if luku <= 500: print("Luku sijoittuu välille 0-500") elif luku > 500 and luku <= 1000: print("Luku sijoittuu välille ") print("Luku on suurempi kuin 1000")

38 c) guess = 42 userGuess = int(input("Arvaa mitä numeroa ajattelen")) if userGuess == guess: print ("Onneksi olkoon! Arvasit oikein") elif userGuess > guess: print ("Väärin, ajattelin pienempää numeroa") else: print("Väärin, ajattelin suurempaa numeroa") d) user1 = "JohnnyUser" pass1 = "123456" user2 = "JennyUser" pass2 = "MyPassword" … username = input("Käyttäjätunnus: ") password = input("Salasana: ") if username == user1 and password == pass1: print ("Tervetuloa järjestelmään") elif username == user2 and password == pass2: print ("Väärä salasana")


Lataa ppt "Ohjelmointia teknisille viestijöille"

Samankaltaiset esitykset


Iklan oleh Google