Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Johdatus ohjelmointiin, koodityöpaja, 30.11.2023
- print("Tervetuloa!")
- # UUSI TIEDOSTO
- # funktio, joka tulee functions.py -tiedostoon:
- # funktio, joka ottaa vastaan kolme parametria
- def count_seconds(hours, minutes, seconds):
- # kaava = tunnit minuuteiksi => minuutit sekunneiksi
- # tunnit sekunneiksi => hours * 60 * 60
- # minuuti sekunneiksi => minutes * 60
- # kaikki yhteen lopuksi, esim. muuttujaan result
- # return result
- # VARSINAINEN OHJELMA (exercise9_2.py)
- from functions import *
- # kolme erillistä inputia, muutetaan jokainen int() -muotoon
- # esim. hours = input("Anna tunnit:\n")
- # hours = int(hours)
- # result = count_seconds(hours, minutes, seconds)
- # result sisältää nyt count_seconds()-funktion laskemat
- # sekunnit
- # UUSI TIEDOSTO
- # importit, jotka tarvitaan
- # huom: muista asentaa Pillow, sillä varsinainen PIL-kirjasto on vanhentunut
- from PIL import Image, ImageDraw, ImageFont
- img = Image.new('RGB', (600, 400), color=(197, 246, 250))
- d = ImageDraw.Draw(img)
- # tämä laatikko alkaa pisteestä 100, 100
- # loppuu pisteeseen 200, 200
- # tällä logiikalla keskikohta on jossain 150 - 150 kohdalla
- # laatikon koko on 200 - 100 => 100 pikseliä
- d.rectangle([100, 100, 200, 200], fill=(13, 112, 120))
- # kokeillaan piirtää pienempi laatikko toisen sisään
- # oletetaan että tämä on 50 pikseliä leveä
- box_width = 50
- # sisempi laatikko, tällä logiikalla laatikko on 50 pistettä leveä
- # vasen laita = isomman laatikon laita + (laatikon leveys / 2)
- d.rectangle([100 + (box_width / 2), 100 + (box_width / 2), 200 - (box_width / 2), 200 - (box_width / 2)], fill=(217, 137, 33))
- # tallennetaan kuva tiedostoon lopuksi.
- # tiedosto ilmestyy ohjelman ajamisen jälkeen samaan kansioon jossa
- # .py -tiedosto on
- img.save('picture123.png')
- # UUSI TIEDOSTO - regioneilla saa näppärästi ryhmiteltyä koodin luettavuutta (PyCharmissa regionit saa vedettyä pienennettyyn tilaan / ollapsed):
- # region Perusfunktiot
- # määritellään funktio nimeltä show_text
- # huom: funktio ei tee mitään koodissa
- # ennen kuin sitä kutsutaan/käytetään jossakin
- def show_text():
- print("Tervetuloa ohjelman käyttäjäksi!")
- print("--------------------------------")
- print("Seuraa ohjeita!")
- print()
- # funktio joka tulostaa koko nimen ja iän
- def combine_text(first, last, age):
- print(f"Tervetuloa: {first} {last}!")
- print(f"Ikäsi on: {age} vuotta.")
- # apufunktio, joka palauttaa kuluvan vuoden
- # numerona (voisi käyttää myös datetime)
- def get_year():
- year = 2023
- return year
- # funktio joka päättelee annetusta numerosta
- # onko kyseessä parillinen vai pariton luku
- def get_even_number_text(number):
- if number % 2 == 0:
- return "Parillinen"
- else:
- return "Pariton"
- # apufunktio joka laskee tunneista
- # päivien lukumäärän
- def hours_to_days(hours):
- result = hours // 24
- return result
- # endregion
- # region Teksti- ja listafunktiot
- # apufunktio, joka kääntää tekstin toisinpäin
- def reverse_string(text):
- return text[::-1]
- # apufunktio joka tarkistaa onko annettu
- # teksti palindromi vai
- def check_palindrome(text):
- # kutsutaan toista omaa funktiota
- reversed_text = reverse_string(text)
- # tarkistetaan onko teksti palindromi vai ei
- # palautetaan tilanteesta riippuen True/False
- if text == reversed_text:
- return True
- else:
- return False
- # apufunktio, joka tarkistaa onko syötetty
- # tilauskoodi oikeassa formaatissa
- # oikea formaatti: pituus 10 merkkiä, ensimmäinen kirjain on T
- def check_order(code):
- result = True
- # jos koodi EI OLE tasan 10 merkkiä => False
- if len(code) != 10:
- result = False
- # jos koodin ensimmäinen merkki EI OLE -> T -> False
- if code[0] != "T":
- result = False
- return result
- # endregion
- # UUSI TIEDOSTOA
- data = ["vihreä", "punainen", "sininen", "turkoosi"]
- # join() -funktion peruskaava on tämä:
- # "merkki jolla halutaan erotella".join(yksinkertainen tekstilista)
- # esim.
- # text = ", ".join(data)
- # lisää esimerkkejä: https://www.digitalocean.com/community/tutorials/python-join-list
- # hakusanana: python 3 list join examples
- # jutun juju on siinä, että lista pitää ensin
- # yksinkertaistaa peruslistaksi (tekstilista), jonka jälkeen
- # voidaan käyttää joinia
- text = " <------> ".join(data)
- print(text)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement