Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Luento 4, merkkijonojen ja virheiden käsittely!
- print("Tervetuloa!")
- text = input("Anna jokin lause:\n")
- print(text)
- # otetaan osa teksti, ensimmäisestä kirjaimesta (0)
- # kirjaimeen 10
- partial = text[0:10]
- print(partial)
- # kirjaimesta 6 (5) kirjaimeen 12
- partial2 = text[5:12]
- print(partial2)
- # voidaan hakea myös väärään suuntaan,
- # esim. 4 viimeistä kirjainta
- last = text[-4:]
- print(last)
- # jos tarvitsee ottaa jokin ylimääräinen merkki lopusta pois,
- # voidaan tehdä näin
- years = "2020-2019-2018-"
- years = years[0:-1]
- print(years)
- # UUSI TIEDOSTO
- # kysytään käyttäjältä teksti
- text = input("Kirjoita jokin lause:\n")
- print(text)
- # tekstin pituus, eli kuinka monta merkkiä tekstissä on
- text_length = len(text)
- # jos teksti on tyhjä, ilmoitetaan siitä käyttäjälle
- # muussa tapauksessa tulostetaan tekstin pituus
- if text_length == 0:
- print("Teksti on tyhjä!")
- else:
- print(f"Antamasi tekstin pituus on {text_length} merkkiä!")
- # montako a-kirjainta tekstissä on?
- a_letters = text.count('a')
- print(f"a-kirjaimia: {a_letters} kpl")
- # UUSI TIEDOSTO
- text = "niin niin"
- # tekstin kääntäminen toisinpäin
- reverse = text[::-1]
- print(reverse)
- # UUSI TIEDOSTO
- drinks = "mehu, vesi, maito, kahvi, tee, mehu"
- # muutetaan kaikki "mehu" -sanat => "vichy"
- # jos halutaan muuttaa vain esim. ensimmäinen sana:
- # jos kaksi ensimmäistä sanaa , sitten tilalle 2 jne.
- # drinks.replace("mehu", "vichy", 1)
- new_drinks = drinks.replace("mehu", "vichy")
- print(new_drinks)
- # esim. pilkut rivinvaihdoiksi!
- new_drinks = drinks.replace(", ", "\n")
- print(new_drinks)
- print()
- # haetaan yksittäinen sana tekstistä
- user_text = input("Mitä juomaa haet?\n")
- # if/else, jos sana löytyy tai ei löydy
- if user_text in new_drinks:
- print("Löytyi!")
- else:
- print("Eipä löytynyt...")
- # UUSI TIEDOSTO
- text = input("Anna numero:\n")
- print(text)
- # tarkistetaan onko käyttäjän antama teksti numero vai ei
- if text.isnumeric():
- print("Syötit numeron!")
- # koska tiedämme että kyseessä on numero, voidaan muuttaa se int-muotoon
- # ja tehdä laskutoimituksia
- number = int(text)
- print(number * 2)
- else:
- # ei ollut numeroita ...
- print("Kirjoitit tekstiä...")
- # UUSI TIEDOSTO
- # yksinkertainen virheenkäsittely
- # jos käyttäjä syöttää tekstiä, otetaan virhetilanne
- # kiinni hallitusti!
- try:
- number = input("Anna numero:\n")
- number = int(number)
- print(f"Numerosi on {number}")
- except ValueError:
- print("Virhe: tulostit tekstiä.")
- print("Kiitos!")
- # TOINEN VERSIO
- # yksinkertainen virheenkäsittely
- # jos käyttäjä syöttää tekstiä, otetaan virhetilanne
- # kiinni hallitusti!
- try:
- number = input("Anna numero:\n")
- number = int(number)
- # jakolasku, tämä tuottaa virheen jos käyttäjä syöttää nollan
- result = 100 / number
- print(f"Numerosi on {number}")
- print(f"Jakotulos on {result}")
- except ValueError:
- print("Virhe: Tulostit tekstiä.")
- except ZeroDivisionError:
- print("Virhe: Nollalla ei saa jakaa!")
- # koska otimme virheistä kopin, ohjelma jatkaa suoritusta normaalisti!
- print("Kiitos!")
- # UUSI TIEDOSTO
- from decimal import Decimal
- # tavalliset floatit tuottaa ongelmia
- # jos on pieniä lukuja, esim. 0.0 - 0.1
- number1 = 0.1
- number2 = 0.2
- print(number1 + number2)
- # sama decimal-moduulilla
- number3 = Decimal("0.1")
- number4 = Decimal("0.2")
- print(number3 + number4)
- # UUSI TIEDOSTO
- # esimerkki, asiakastunnus on muotoa A1324_2345
- try:
- client = input("Syötä asiakastunnus: \n")
- # tunnuksen pituus
- text_length = len(client)
- # tarkistetaan että tunnus on 10 merkkiä pitkä
- # ja kuudes merkki on alaviiva
- # jos kaikki ok, mennään elseen ja otetaan tunnuksesta osat irti
- # ja tulostetaan
- if text_length != 10:
- print("Tunnus on väärän mittainen.")
- elif client[5] != "_":
- print("Tunnuksesta puuttuu alaviiva!")
- else:
- id = client[0:5]
- order = client[6:10]
- order = int(order)
- print(id)
- print(order)
- except Exception as e:
- print("Virhe: " + str(e))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement