Strukture i vrste podataka u Pythonu
Ishodi
OŠ INF B.7.1. razvija algoritme za rješavanje različitih problema koristeći se nekim programskim jezikom pri čemu se koristi prikladnim strukturama i tipovima podataka
pod A.3.1. primjenjuje inovativna i kreativna rješenja
osr B.3.2. razvija komunikacijske kompetencije i uvažavajući odnose s drugima
ikt A.3.2. učenik se samostalno koristi raznim uređajima i programima
Ciljevi učenja
- Naučiti osnovne vrste podataka u Pythonu: brojčani tipovi, logički tip i znakovni niz.
- Razumjeti kako pretvarati podatke iz jednog tipa u drugi koristeći ugrađene Python funkcije.
- Primijeniti znanje u pisanju jednostavnih Python programa.
- Povezati naučeno s problemima iz stvarnog života.
UVOD
Vi ste programeri koji trebaju osmisliti aplikaciju za vođenje kućnog budžeta. Znanje o strukturama i vrstama podataka ključno je jer svaki program koji koristite svakodnevno, od kalkulatora na mobitelu do aplikacija za praćenje potrošnje ili planiranje zadataka, koristi različite vrste podataka kako bi ispravno radio. Bez razumijevanja podataka i kako ih obrađivati, ne bismo mogli stvarati ili unapređivati takve programe. Svaki dan unosite brojeve (prihodi i troškovi), tekst (nazivi kategorija poput “hrana” ili “prijevoz”) i provjeravate logičke uvjete (je li budžet premašen?). Da bismo mogli raditi takve programe, moramo naučiti koje vrste podataka Python koristi i kako ih možemo iskoristiti za rješavanje stvarnih problema.
GLAVNI DIO

Brojčani tip podataka
Brojčani podaci dijele se na dvije osnovne vrste:
- Cijeli brojevi (int) – brojevi bez decimalnih mjesta, poput 10, -5, 1000.
- Decimalni brojevi (float) – brojevi s decimalnim mjestima, poput 3.14, -0.5, 2.0.
Python nam omogućuje pretvaranje decimalnih brojeva u cijele koristeći funkciju int(), a cijelih brojeva u decimalne koristeći funkciju float(). Pogledajmo primjer:
>>> int(4.8)
4
>>> float(5)
5.0
Ove funkcije su korisne kada želimo promijeniti oblik podatka radi lakšeg računanja ili prikaza rezultata.
Primjer iz stvarnog života:
Radite program koji računa cijenu ulaznica za kino. Ako korisnik unese broj ulaznica s decimalnom vrijednošću, trebate ga pretvoriti u cijeli broj jer ne možemo prodati pola ulaznice!
Logički tip podataka
Logički tip podataka (bool) ima samo dvije moguće vrijednosti:
- True (točno)
- False (netočno)
Najčešće se koristi u uvjetnim naredbama kako bismo odlučili što će program napraviti. Na primjer:
a = 4
b = 5
print(a == b) # False
print(a < b) # True
Logički tip podataka važan je za donošenje odluka u programima.
Primjer iz stvarnog života:
Izrađujete aplikaciju za online trgovinu. Ako korisnik unese kupon za popust, provjeravate je li kupon važeći (True) ili nije (False) kako biste primijenili popust na ukupnu cijenu.
Znakovni niz
Znakovni niz (string) služi za pohranjivanje teksta. Zapisuje se unutar jednostrukih ili dvostrukih navodnika:
a = 'Python'
b = "Dobar dan"
print(a)
print(b)
S nizovima možemo raditi razne operacije, poput zbrajanja (spajanja) i množenja:
>>> s1 = 'abc'
>>> s2 = 'def'
>>> print(s1 + s2) # abcdef
>>> print(s1 * 3) # abcabcabc
Rad s dijelovima znakovnog niza – indeksiranje znakovnog niza
Znakovni niz možemo promatrati i kao niz znakova poredanih redoslijedom. Svaki znak u nizu ima svoj indeks, počevši od nule:

Indeksiranjem dohvaćamo pojedine znakove iz znakovnog niza. Indeksi počinju od 0 za prvi znak, a od -1 za posljednji znak niza kada brojimo unatrag.
Kako dohvatiti pojedine znakove niza?

Dohvaćanje više znakova znakovnog niza
Ako želimo dohvatiti više znakova iz niza, koristimo isječak znakovnog niza. Isječak se definira upisivanjem početnog i krajnjeg indeksa unutar uglatih zagrada, odvojenih dvotočkama:
r = 'Python'
print(r[1:4]) # yth
Python indeksiranje funkcionira na sljedeći način:
- Kada indeksiramo niz od početka prema kraju, indeksi kreću od 0 (prvi znak ima indeks 0, drugi 1, treći 2 itd.).
- Kada indeksiramo niz unatrag, indeksi kreću od -1 (posljednji znak ima indeks -1, pretposljednji -2 itd.).
Ovakav sustav indeksa omogućuje nam jednostavan pristup znakovima s kraja niza bez potrebe za računanjem duljine niza.


Grafički prikaz indeksiranja znakovnog niza
Grafički prikaz indeksiranja znakovnog niza vizualni je način prikazivanja odnosa između znakova unutar niza i njihovih pozitivnih i negativnih indeksa. Cilj je olakšati razumijevanje kako svaki znak u nizu ima svoju jedinstvenu poziciju, koja se koristi za dohvaćanje pojedinačnih znakova ili njihovih isječaka.


Vježbe
Vježba 1: Nastavni listić
Zaključak
U ovoj lekciji naučili smo osnovne vrste podataka u Pythonu: brojčane, logičke i znakove nizove. Ovo znanje ključno je za izradu programa koji obrađuju različite vrste podataka, poput aplikacija za računanje, analizu teksta ili donošenje odluka.
ZAVRŠNI DIO
- Provjerite svoje znanje. – KAHOOT KVIZ
- dodatni digitalni sadržaji na e-Sfera
- Provjerite razinu razumijevanja gradiva – LISTIĆ ZA SAMOPROCJENU ZNANJA
PROVJERI SVOJE ZNANJE
- Navedite jednostavne tipove podataka koje koristi programski jezik Python.
- Navedite po jedan primjer primjene funkcija int() i float() na brojčanim vrijednostima.
- Objasnite što se postiže indeksiranjem niza znakova.
- Neka je zadani znakovni niz “Hrvatska”. Prikažite grafički indeksiranje tog znakovnog niza.
- Izradite program u Pythonu koji ispisuje drugi, četvrti, peti znak tog niza znakova te zadnji znak niza.