informatika.bilíčka.sk

Ťaháčik

Tu je v skratke uvedené, čo vystrájajú príkazy, ktoré sme si ukázali na hodine...

Komentáre

# hashtag označuje komentár
# od symbolu hashtag až po koniec riadku je text považovaný za komentár
# komentáre sa pri vykonávaní programu ignorujú
# môžme tak do súboru s programom písať rôzne vysvetlenia

Výpis

Program môže komunikovať s používateľom tak, že mu niečo vypíše, požívame na to príkaz print().

# print môže vypísať konkrétny text, ktorý "obalíme" do úvodzoviek
print("ahoj")
print("Dobrý deň, pán prezident.")

# ak argument (to čo má print v svojich zátvorkách) neobalíme úvodzovkami
# Python sa to pokúsi vyhodnotiť - môžeme ho tak nechať niečo vypočítať
print(5+5)
print(10-8)

# v zátvorkách môžeme uviesť viacero argumentov oddelených čiarkami,
# Python vyhodnotí tie, ktoré nie sú "oúvodzovkované"
print("tri plus tri je", 3+3)
print("100-65=", 100-65)

Premenné

# premenná reprezentuje hodnotu, hodnota môže byť nejakého typu,
# rozlišujeme hodnoty typu:
#   TEXT - hodnota "obalená" úvodzovkami
#   CELÉ ČÍSLO
#   DESATINNÉ ČÍSLO (má desatinnú bodku!)

# premnnú vytvárame tak, že do nej priradíme hodnotu pomocou znaku rovnosti:
# premenná má názov, ktorý nemusí byť jednopísmenkový
a = 10
vek = 16
meno = "Janko"
telota = 36.652

# viacslovné názvy - cammelCase alebo snake_case
vyska_snehu_na_kopci = 20.36
hlbkaRelaxacnehoBazna = 56.789

# do premennej môžeme priradiť aj výsledok výpočtu
sucet = 15 + 16
vysledok = 15 - 365

# vľavo od "rovná sa" môže byť uvedená len jedna premenná
# python najprv vypočíta, čo je napravo od "rovná sa"
# a potom výsledok uloží do premennej uvedenej vľavo od "rovná sa"
a = 30
b = 40
c = a + b

# aj toto je "legálne", najprv sa vypočíta a + a (to j 200)
# a potom sa výsledok (200) uloží do premennej 'a',
# teda hodnota v 'a' sa prepíše na 200
a = 100
a = a + a

# premenné môžeme použiť v príkaze print bez úvodzoviek
# python dosadí za túto premennú hodnotu, ktorú reprezentuje
vek = 78
print("máš", vek, "rokov")
rok = 2060
print("narodil si sa v roku:", rok-vek)

Aritmetika, matematické operácie

# s číslami a premennými, ktoré obsahujú číselnú hodnotu
# vie python vykonať matematické operácie
#   +  sčítanie
#   -  odčítanie
#   *  násobenie
#   /  delenie
#   // celočíselné delenie 7//2 je 3
#   %  zvyšok po delení 7//2 je 1
#   ** mocnina, 2**3 je "dva na tretiu"

# výpočet môže byť priamo v príkaze print()
print(7*7)
print("acht hoch acht ist", 8**8)
print("mas", aktualnyRok - rokNarodenia, "rokov")

# výsledok výpočtu môžeme priradiť do premennej
# toto zvykne byť prehľadnejšie
vek = aktualnyRok - rokNarodenia
print("mas", vek, "rokov")

Načítanie

# text do premennej načítame pomocou funkcie input()
# napríklad meno, priezvisko, email, adresa, oslovenie, ...
# ako argument príkazu input môžeme (ale nemusíme) uviesť prompt - výzvu, text,
# ktorý sa zobrazí používateľovi, aby vedel, čo má zadať...
meno = input("Ako sa voláš?")
ulica = input("Prosím, zadaj názov ulice: ")

# celé číslo načítame pomocou int(input())
# napríklad vek, rok narodenia, číslo domu, vzdialenosť v km, ...
# 'int' je skratka pre 'integer', čo je angl. 'celé číslo'
vek = int(input("Koľko máš rokov?"))
rok = int(input("Zadaj aktuálny rok:"))

# desatinné čísla načítame pomocou float(input())
# napríklad teplota, dĺžka, alebo iná veličina s požadovanou presnosťou
# 'float' označuje 'floating point number'
telota = float(input())
priemer = float(input())

Zaokrúhľovanie

# príkaz round() "berie" dva parametre, čo má zaokrúhliť a na koľko miest
a = round(3.1415, 2)    # do premennej 'a' sa priradí 3.14

# round() môže byť aj priamo v print()
print(round(3.1415926535, 5))

# round() môže mať ako argumenty aj premenné
pi = 3.1415926535
presnost = 7
zaokruhlene_pi = round(pi, presnost)

Grafika, canvas

# ak chcem používať funkcie na kreslenie, na začiatok kódu pridám 3 riadky:
import tkinter
canvas = tkinter.Canvas()
canvas.pack()

# KRESLENIE OBDĹŽNIKA
#   50,70 sú XY súradnice jedného vrchola obdĺžnika
#   220,150 sú XY súradnice druhého, protiľahlého vrchola obdĺžnika
canvas.create_rectangle(50, 70, 220, 150, fill="red")

# SÚRADNICOVÝ SYSTÉM CANVASu
#   os X raste zľava doprava
#   os Y raste zhora dole

Náhoda, random

# ak chcem používať generátor náhodných čísel, na začiatok kódu napíšem
import random

# náhodné číslo z intervalu [10,20]
# vrátane 10 a 20!
cislo = random.randint(10,20)

# náhodná hodnota zo zoznamu
farba = random.choice(["red", "green", "blue"])

# náhodné desatinné číslo z intervalu [0, 1]
a = random.random()

# generovanie úplne náhodnej farby pre grafiku
# farbu pre canvas.create_rectangle môžeme uviesť v hexadecimálnom zápise
# ako #RRGGBB, napríklad #FF0000 je červená
randomFillColor = f"#{random.randint(0,256**3-1):0{6}X}"
# potom premennú použijeme ako hodnotu parametra fill...
canvas.create_rectangle(50, 70, 220, 150, fill=randomFillColor)