Osnove Programiranja (Python - Unizg.hr

Transcription

Osnove programiranja (Python)D450priručnik za polaznike 2018 Srce

Ovu inačicu priručnika izradio je autorski tim Srca u sastavu:Autor: Marko HruškaRecenzent: Josip DomšićUrednica: Gorana KurtovićLektorica: Mia KožulSveučilište u ZagrebuSveučilišni računski centarJosipa Marohnića 5, 10000 Zagrebedu@srce.hrISBN 978-953-8172-41-0 (meki uvez)ISBN 978-953-8172-42-7 (PDF)Verzija priručnika D450-20200115Ovo djelo dano je na korištenje pod licencom Creative CommonsImenovanje-Nekomercijalno-Dijeli pod istim uvjetima 4.0 međunarodna.Licenca je dostupna na -sa/4.0/.

SadržajUvod . 11.Uvod u programiranje . 3Dijagrami toka . 3Pseudo-kôd . 5Priprema radnog okruženja . 5Vježba: Dijagram toka, pseudo-kôd, prvi program . 7Pitanja za ponavljanje: Dijagram toka, pseudo-kôd . 7Osnove programskoga jezika Python . 9Komentari. 9Varijable . 10Aritmetički operatori . 11Operatori usporedbe . 12Logički operatori i logički izrazi . 12Tipovi brojeva – int, float, complex . 14Nizovi znakova . 15Ugrađene funkcije i metode . 16Vježba: Rad s varijablama . 19Pitanja za ponavljanje: Rad s varijablama . 20Upravljanje tokom programa .21Naredba if . 21Petlja while . 24Petlja for . 25Naredba break i continue . 27Vježba: Rad s kontrolom toka i petljama . 29Pitanja za ponavljanje: Rad s kontrolom toka i petljama . 30Funkcije .31Definicija funkcije . 31Poziv funkcije . 32Parametri funkcije . 32Naredba return . 34Vidljivost i životni vijek varijable . 35Vježba: Rad s funkcijama . 37Pitanja za ponavljanje: Rad s funkcijama . 38Ulazno izlazne funkcije .39Funkcija print() . 39Funkcija input() . 41Vježba: Rad s print() i input() funkcijama . 42Pitanja za ponavljanje: Rad s print() i input() funkcijama . 43

Moduli i paketi .45Rad s modulima i paketima . 45Vježba: Korištenje Python modula i paketa . 48Pitanja za ponavljanje: Korištenje Python modula i paketa . 48Datoteke .49Tekstualne datoteke . 50Vježba: Rad s datotekama. 57Pitanja za ponavljanje: Rad s datotekama . 57Parametri naredbenoga retka .59Pokretanje skripte preko naredbenoga retka. 59Pokretanje skripte u unaprijed zadanom trenutku (engl. Task Scheduler) . 61Vježba: Naredbeni redak . 68Strukture podataka .69Lista (engl. List) . 69Skup (engl. Set) . 79Rječnik (engl. Dictionary) . 82N-terac (engl. Tuple) . 85Vježba: Rad sa strukturama podataka . 88Pitanja za ponavljanje: Rad sa strukturama podataka . 89Dodatak: Završna vježba .91Dodatak: Rješenja vježbi .93Literatura.137

Osnove programiranja (Python) (D450)UvodSvrha ovoga tečaja jest upoznavanje s osnovama programskoga jezikaPython. Prema mnogim studijama učenje programskoga jezika Python jeizrazito jednostavno, ponajviše zahvaljujući tomu što ima jednostavnusintaksu. Jedan od razloga zašto se danas sve više programira uPythonu je jednostavna sintaksa.Preduvjet za pohađanje i razumijevanje ovoga tečaja jest poznavanjeosnova rada na računalu. Priručnik se sastoji od 9 poglavlja koja seodrađuju u četiri dana, po četiri sata dnevno, koliko traje tečaj. Na krajusvakog poglavlja nalaze se vježbe koje će polaznici prolaziti zajedno spredavačem. Mogući savjeti i zanimljivosti istaknuti su u okvirima sastrane.Na ovom tečaju polaznici će naučiti osnovne koncepte programiranja uprogramskom jeziku Python. Tako naučeni osnovni koncepti na ovomtečaju primjenjivi su i na većinu ostalih programskih jezika, čime sepolaznicima omogućava da nakon završenog tečaja s lakoćomsvladavaju i ostale programske jezike. Naučeni osnovni konceptiomogućavaju lakše snalaženje prilikom nadograđivanja vlastitoga znanjanakon tečaja uz pomoć web-pretraživača i ostale literature. Nakon tečajapolaznici će posjedovati znanje za rješavanje lakših programskihzadataka u programskom jeziku Python.Python je interpreterski programski jezik. Interpreterski programski jezicisu jezici kod kojih se izvorni kôd izvršava direktno uz pomoćinterpretera, tj. kod ovakvih tipova programskih jezika nema potrebe zakompajliranjem prije izvršavanja, tj. prevođenjem u izvršni oblik.Programi pisani u programskom jeziku Python su kraći, a i za njihovopisanje utrošak vremena je puno manji. Python programerima dopuštanekoliko stilova pisanja programa: strukturno, objektno orijentirano iaspektno orijentirano programiranje.U ovom tečaju obrađeno je strukturno programiranje. Kod strukturnogprogramiranja glavni je naglasak za kontrolu programa na korištenjustruktura poput funkcija, metoda, odluka, petlji. Ovakav načinprogramiranja omogućava programerima da se program razlomi namanje logičke dijelove, tj. u funkcije te se tako povećava modularnostprogramskoga kôda koji je moguće višekratno iskoristiti. Ovakav pristupidealan je za kraće logičke programe, no kod velikih projekata nijedovoljno učinkovit i nakon nekog vremena programerima je sve težerazvijati nove komponente, tj. funkcionalnosti. Objektno orijentiranoprogramiranje i aspektno orijentirano programiranje neće se obrađivati uovom tečaju.Kako je Python interpreterski tip jezika, programi pisani u njemu se zaposljedicu sporije izvršavaju za razliku od programa koji su pisani uprogramskim jezicima C, C , Java itd. Zadnje stabilne verzije Pythonasu: Python 3.7.* i Python 2.7.14. U ovom tečaju koristit ćemo verzijuPython 3.1Napomena - infoPython je dobio ime poseriji: "Monty Python'sFlying Circus".

Osnove programiranja (Python) (D450)Izradu programskoga kôda moguće je podijeliti na nekoliko koraka:1. shvatiti problem koji je potrebno riješiti2. rastaviti problem na manje dijelove (module)3. prepoznati koji su programski elementi potrebni za rješavanjeproblema4. povezati programske elemente u smislen algoritam5. napisati program u odabranom programskom jeziku6. testirati program, pronaći rubne slučajeve te popraviti eventualnegreške.U priručniku važni pojmovi pisani su podebljano. Ključne riječi, imenavarijabli, funkcija, metoda i ostale programske konstrukcije pisane sudrugačijim fontom od uobičajenog, na primjer: print("HelloWorld!"). Nazivi na engleskom jeziku pisani su kurzivom i u zagradi,na primjer: "varijabla (engl. variable)".Programski kôd pisan je na sljedeći način:U prvom dijelu bit ćenapisan programski kôd.for i in range(2):print("Hello World!")Izlaz:Hello World!U drugom dijelu bit će prikazanHello World!dobiven izlaz programskoga kôda.2

Osnove programiranja (Python) (D450)1. Uvod u programiranjePo završetku ovog poglavlja polaznik će moći: objasniti kako dijagram toka prikazuje algoritam nacrtati dijagram toka za jednostavan algoritam tumačiti pseudo-kôd napisati pseudo-kôd za jednostavan algoritam pripremiti radno okruženje za rad s programskim jezikomPython.Dijagrami tokaDijagram toka je grafički prikaz algoritma. Dijagram toka sastoji se odniza elemenata koji su međusobno povezani strelicama čiji smjer diktirasmjer realizacije programa.Najčešće korišteni elementi:Python – verzijeVerzija Pythona jeoznačena s A.B.C. Svakood ta tri slova označavapromjene koje su sedogodile prema važnosti.Slovo C označava sitnepromjene, slovo Boznačava veće promjene,dok slovo A označavavelike promjene.Dijagrami toka pomažu programerima u vizualizaciji algoritma, ali i zabolje shvaćanje problema kojeg rješavaju.3

Osnove programiranja (Python) (D450)Primjer: program učitava dvije vrijednosti (učitane vrijednosti spremajuse u varijable). Od veće vrijednosti oduzima se manja učitana vrijednost.Tako dobiveni rezultat koji se ispisuje uvijek je veći ili jednak nuli ( 0).Varijable – ovaj pojam detaljnije je objašnjen u poglavlju 2. Osnoveprogramskog jezika Python. Varijable su dijelovi programa koji se koristekako bi se spremile učitane vrijednosti. Vrijednosti se nekoj varijablipridružuju pomoću matematičkog operatora jednako tj. " ". Ime varijableu koju želimo spremiti neku vrijednost uvijek se nalazi s lijeve straneznaka " " dok se s desne strane nalazi vrijednost koju želimo spremiti uvarijablu.Obrazloženje rješenja: priloženi dijagram toka prikazuje algoritam kojiučitava dva broja, učitani brojevi spremaju se u varijable a i b. Nakonučitavanja vrijednost slijedi odluka o tome je li vrijednost varijable amanja od vrijednosti varijable b. Ako je uvjet provjere istinit, tada se uvarijablu x sprema rezultat oduzimanja b – a, dok se u suprotnomprimjeru u varijablu x sprema rezultat oduzimanja a – b. Nakonizvršenog oduzimanja rezultat spremljen u varijablu x ispisuje se naekran.NapomenaOpisivanje algoritmadijagramom toka jeprikladno za kraće / lakšealgoritme te za početnikekako bi lakše vizualiziraliproblem kojeg rješavaju.Zaključak: priloženi algoritam radi matematičku operaciju oduzimanjačiji rezultat nikada neće biti negativan, već će uvijek biti x 0.4

Osnove programiranja (Python) (D450)Pseudo-kôdKako su dijagrami toka prilikom opisivanja složenih algoritama izrazitonepregledni, bolja zamjena za njih je pseudo-kôd. Pseudo-kôd koristitermine govornoga jezika i on je puno prikladniji za opis složenijihalgoritama. Prilikom opisa nekog algoritma pseudo-kôd u svojemsadržaju koristi izraze kojima se ljudi svakodnevno koriste. Na autorupseudo-kôda je da odluči koliko će detaljno ići riječima opisivati nekialgoritam (treba pronaći zlatnu sredinu jer se s previše detalja gubismisao opisivanja algoritma pseudo-kôdom, a opet ako imamo premalodetalja, algoritam može biti nejasan, osobito početnicima). Pseudo-kôdmora biti napisan općenito tako da se ne vide detalji implementacije kojisu ovisni o nekom konkretnom programskom jeziku, na primjer Pythonu.Kod pseudo-kôda za pridruživanje vrijednosti varijablama koristi seoznaka ": " i ostale standardne matematičke operacije.U nastavku je prikazan pseudo-kôd čija je logika identična logicialgoritma prikazanog u prethodnom poglavlju.početakučitaj(a, b)ako je a b tadax : b - ainačex : a – bispiši(x)krajPriprema radnog okruženjaNa stranici https://www.python.org/ skinuti i instalirati zadnju verzijuPython 3.7.x. Ako instalacija Python 3.7.x. nije dostupna, skinuti zadnjudostupnu instalaciju Python 3.x.Prilikom instalacije koristiti unaprijed postavljene opcije, tj. nije potrebnoništa mijenjati.Pokrenuti IDLE koji dolazi sa samom instalacijom Pythona.Start Python 3.7 IDLE (Python 3.7 32-bit)Gore otvoreni program možemo smatrati kao naredbenim retkom gdjese naredbe izvršavaju jedna po jedna. Ovakav način pokretanjaprogramskoga kôda napisanog u Pythonu obično se koristi kada nabrzinu želimo izvršiti nekoliko naredbi. Kod ovakvog pristupaprogramiranju, program koji napišemo je "jednokratan" što znači da akoponovo želimo pokrenuti isti skup programskih linija, sve te linijemoramo ponovo napisati ili koristiti metodu kopiraj-zalijepi (engl. CopyPaste). Ako želimo napisati program koji se sastoji od više linija, koji5NapomenaU knjigama se složenijialgoritmi opisuju pomoćupseudo- kôda.

Osnove programiranja (Python) (D450)lagano možemo uređivati kao i svaki drugi dokument na računalu, za toje najprikladnije da preko Python IDLE-a otvorimo novi dokument ukojem ćemo pisati programski kôd:U programu koji smo prethodno otvorili: IDLE (Python 3.7 32-bit)odaberemo:File New filePrimijetimo da nam se sada otvorio prozor za unos teksta. U ovomprozoru pišemo programski kôd. Nakon što želimo pokrenuti napisaniprogram to možemo napraviti pritiskom na tipku: F5 ili pak kroz izbornik:Run Run moduleNakon što pokrenemo napisani programski kôd, rezultat izvođenjaprograma pojavit će nam se u prozoru koji smo prvo otvorili, tj. IDLE(Python 3.7 32-bit).Primjer: Hello WorldU prozoru za unos teksta napišemo naredbu: print("HelloWorld!") te pokrenemo program. Nakon pokretanja programa rečenica"Hello World!" mora se pojaviti u IDLE-u. Naredba print() namsluži za ispis teksta i ona je detaljnije objašnjenja u poglavlju 5. Ulaznoizlazne funkcije. "Hello World!" je niz znakova (engl. String). Nizoviznakova pojašnjeni su u poglavlju 2. Osnove programskog jezikaPython.Za sada uzmimo naredbu print() kao naredbu koju pozivamo kadaželimo ispisati neku proizvoljnu vrijednost, a vrijednost koju želimoispisati stavljamo u oble zagrade.6

Osnove programiranja (Python) (D450)Vježba: Dijagram toka, pseudo-kôd, prviprogram1. Kreirajte dijagram toka koji učitava tri broja. Ispišite sumu (a b c)ili umnožak unesenih brojeva (a * b * c) ovisno o tome koja je od tihdviju vrijednosti veća.Primjer: učitani brojevi su 1, 2, 2, dijagram toka mora ispisati brojku 5zato što suma unesenih brojeva (1 2 2) iznosi 5, a umnožakunesenih brojeva (1 * 2 * 2) iznosi 4, tj. suma unesenih brojeva jeveća.2. Napravite prethodni zadatak pomoću pseudo-kôda.3. Kreirajte dijagram toka koji učitava dva broja. Ispišite učitanevrijednosti u uzlaznom poretku.Primjer: za učitane brojeve 50 i 10, ispis mora izgledati: "10, 50".4. Napravite prethodni zadatak pomoću pseudo-kôda.5. Kreirajte dijagram toka koji učitava dva broja. Ispišite količnik učitanihbrojeva (rezultat dijeljenja učitanih brojeva). U slučaju dijeljenja snulom, ispišite da to nije ispravno.6. Napravite prethodni zadatak pomoću pseudo-kôda.7. Pokrenuti Python IDLE te ispisati proizvoljni niz znakova.Pitanja za ponavljanje: Dijagram toka, pseudokôd1. Kod dijagrama toka koji oblik služi za upis ulaznih / ispis izlaznihvrijednost?2. Koja je prednost pseudo-kôda pred dijagramom toka?7

Osnove programiranja (Python) (D450)8

Osnove programiranja (Python) (D450)Osnove programskoga jezika PythonPo završetku ovog poglavlja polaznik će moći: opisati kôd komentarima definirati i koristiti varijable odrediti vrstu varijable koristiti aritmetičke operatore, operatore usporedbe te ugrađenefunkcije i metode.KomentariKao i u svakom programskom jeziku tako i u Pythonu postoje komentarikoji programerima olakšavaju pisanje programskog kôda. Korisno jeopisati što se kojim od dijelova programskoga kôda želi postići. Takviopisi zovu se komentari.Komentari u Pythonu počinju znakom "hash" - #. Nakon znaka započetak komentara, on se proteže do kraja linije.KomentariKako su komentari tu da pojasne dio kôda, oni se ne interpretiraju, tj.prilikom izvođenja programa se ignoriraju.Preporuča se kompliciranijedijelove kôda komentirati.Ako je programski kôdkvalitetno iskomentiran,programer koji čita takavkôd puno će brže shvatitilogiku programa.# Ovo je prvi komentarvar1 1 # ovo je drugi komentar# . a ovo je treći komentar!text "# Ovo nije komentar jer se nalazi unutarnavodnika."print(var1)print(text)Izlaz:1# Ovo nije komentar jer se nalazi unutarnavodnika.Uz komentare koji se protežu od znaka "hash" - # pa do kraja linije,postoje komentari pomoću kojih možemo napisati neki opisni tekst kroznekoliko linija ili pak iskomentirati cijeli odsječak programskog kôda.Komentari koji se protežu kroz nekoliko programskih linija počinju izavršavaju s ''' ili """ (tri jednostruka ili tri dvostruka navodnika). Bitno jenaglasiti da znak za početak komentara koji se proteže kroz nekolikoprogramskih linija mora biti napisan na početku retka, tj. ispred znaka započetak komentara u nekoj liniji ne smije pisati nikakav programski kôd.var1 1print(var1)''' Ovo je komentarkoji se protežekroz nekolikoprogramskih linija '''9

Osnove programiranja (Python) (D450)var1 1print(var1)""" Ovo je komentarkoji se protežekroz nekolikoprogramskih linija """VarijableNazivi varijabliNazivi varijabli morali bilogički predstavljativrijednost koja je u varijablispremljena. Na primjer, akose u varijabli nalazi sumabrojeva, prikladnije je takvuvarijablu nazvati suma, a neumnozak.Varijable su dijelovi programa koji se koriste kako bi se spremilevrijednosti. Tim vrijednostima (informacijama) pristupa se iz raznihdijelova računalnih programa. Svaka varijabla određena je svojimimenom i memorijskom lokacijom na kojoj je zapisana određenavrijednost.Najjednostavniji opis pojma varijabla bio bi da je varijabla "kutija" u kojuse spremaju stvari (u našem slučaju vrijednosti) te se prema potrebi testvari mogu uzeti (koristiti, pridruživati drugim varijablama), mijenjati sdrugim stvarima (s drugim vrijednostima) itd. U varijable je mogućespremiti svakakve vrijednosti, no u ovom će se dijelu tečaja u varijablespremati samo brojevi radi lakšeg razumijevanja gradiva.Vrijednosti se nekoj varijabli pridružuju pomoću matematičkog operatora" ". Ime varijable u koju želimo spremiti neku vrijednost uvijek se nalazis lijeve strane znaka " " dok se s desne strane nalazi vrijednost kojuželimo spremiti u varijablu.U donjem primjeru možemo vidjeti da se varijabli čije je imemojaVarijabla pridružuje vrijednost 5. U drugoj liniji pozivom funkcijeprint(mojaVarijabla) Python ispisuje vrijednost koja je spremljenau varijabli imena mojaVarijabla, iz tog razloga se na zaslon ispisujevrijednost 5.mojaVarijabla 5print(mojaVarijabla)Izlaz:5NapomenaPrilikom kreiranja imena varijabli, potrebno je dobro razmisliti onajboljem imenu za neku varijablu, jer ako programer pametno odabereime, to će mu omogućiti lakše pisanje programskoga kôda, a posljedičnoi lakše snalaženje u programskom kôdu. Posebice, ako će taj isti kôd ićičitati, na primjer, par tjedana nakon što je programski kôd napisan.Primjer: ako je potrebno u varijablu spremiti trenutnu godinu, tada je tuvarijablu pametnije nazvati trenutnaGodina, a ne trenutniMjesec.10

Osnove programiranja (Python) (D450)Aritmetički operatoriPython podržava nekoliko unaprijed definiranih aritmetičkih operatora zarad s brojevima. U nastavku je prikazana tablica u kojoj se nalazi popisaritmetičkih operatora koji se mogu koristiti.OperatorNamjenaPrimjer */%**Zbrajanje (engl. addition)Oduzimanje (engl. subtraction)Množenje (engl. multiplication)Dijeljenje (engl. division)Ostatak dijeljenja (engl. modulus)Potenciranje (engl. power )Cjelobrojno dijeljenje (engl. flordivision)x a bx a–bx a*bx a/bx a%bx a ** bRezultata 10;b 5x 15x 5x 50x 2x 0x 100000x a // bx 2//Također, uz gore navedene aritmetičke operatore u programskimjezicima, pa tako i u Pythonu, postoji skraćena verzija operatorapridruživanja. U nastavku je prikazana tablica tih operatora.OperatorPrimjerOsnovni oblik - * / % ** // a ba - ba * ba / ba % ba ** ba // ba ba a ba a–ba a*ba a/ba a%ba a ** ba a // ba bSkraćeni operatoriKorištenjem skraćenihoperatora povećava sečitljivost programskogakôda.Rezultata 10; b 5a 15a 5a 50a 2a 0a 100000a 2a 5Kao što se može vidjeti iz gornje tablice, skraćeni operatoriomogućavaju kraći zapis jedne te iste stvari koja se u svim slučajevimamože odraditi s osnovnim aritmetičkim operatorima. Uzmimo za primjeroperator " ", ako je varijablu a, potrebno uvećati za vrijednost varijableb, sa skraćenim aritmetičkim operatorom to bi se zapisalo kao a b.To je identičan izraz kao a a b, zapisan na drugačiji način.Pomoću ovih operatora programer može pojednostaviti izgledprogramskoga kôda.11

Osnove programiranja (Python) (D450)Operatori usporedbeOperatori usporedbe uspoređuju vrijednosti s lijeve i s desne straneoperatora te odlučuju o vrijednosti koju će vratiti. Operatori usporedbevraćaju vrijednosti 0 (netočno, engl. False) ili 1 (točno, engl. True).a ba ! bRezultata 5; b 10FalseTrueRezultata 5; b 5TrueFalsea ba ba ba rimjer ! Usporedba jednakostiUsporedbanejednakostiStrogo veće odStrogo manje odVeće ili jednako odManje ili jednako od Operatori usporedbe najčešće se koriste za kontrolu toka programa, tj. uuvjetima provjere točnosti rezultata logičkih operatora.Logički operatori i logički izraziLogički operatori koriste se za kreiranje složenijih logičkih izraza. Zakreiranje složenijih izraza koriste se tri logička operatora, a to su:NapomenaSintaksa označavanjalogičkih operatora uprogramskom jeziku C: Operator and – operacija I (konjunkcija) Operator or – operacija ILI (disjunkcija) Operator not – operacija NE (negacija).OperatorandornotOperator IA && BOpisOperacija I, konjunkcijaOperacija ILI, disjunkcijaOperacija NE, negacijaOperator ILIA BTablica stanja operatora I (and):Operator NOTAFalseTrueFalseTrue!ABFalseFalseTrueTrueA and BFalseFalseFalseTrueOperator I daje rezultat True samo u jednom slučaju, a to je kada obaoperanda imaju vrijednost True.Tablica stanja operatora ILI (or):AFalseTrueFalseTrue12BFalseFalseTrueTrueA or BFalseTrueTrueTrue

Osnove programiranja (Python) (D450)Operator ILI daje rezultat True u slučaju da barem jedan odoperanada ima vrijednost True, tj. operator ILI daje vrijednost Falsesamo u slučaju kada svi operandi imaju vrijednost False.Tablica stanja operatora NE (not):AFalseTruenot ATrueFalseOperator NE daje invertiranu vrijednost. False and FalseFalse True and FalseFalse False and TrueFalse True and TrueTrue False or FalseFalse True or FalseTrue False or TrueTrue True or TrueTrue not FalseTrue not TrueFalse not 0True False And FalseSyntaxError: invalid syntax False AND FalseSyntaxError: invalid syntax FALSE and FalseTraceback (most recent call last):File " pyshell#22 ", line 1, in module FALSE and FalseNameError: name 'FALSE' is not definedKod složenijih logičkih izraza moguće je istovremeno kombinirati viševrsta operacija: aritmetička operacija, operatori usporedbe, logičkaoperacija.Redoslijed izvođenja operacija dan je sljedećom tablicom:Redoslijed1.2.3.OperacijaAritmetička operacijaOperatori usporedbeLogička operacija13

Osnove programiranja (Python) (D450)NapomenaAko ne želimo razmišljatikakav je redoslijedizvođenja operacija(aritmetičkih operacija,operatora usporedbe,logičkih operacija) tadamožemo koristiti zagrade. 5 8 20True 5 8 20 / 2True (5 8) (20 / 2)True (5 8) (20 / 2) and (100 /2) 10True ( (5 8) (20 / 2) ) and ( (100 /2) 10 )TrueTipovi brojeva – int, float, complexPython ima tri osnovna tipa brojeva: cijeli brojevi decimalni brojevi kompleksni brojevi.Kao dodatak tu se može uvrstiti i boolean tip podataka koji je podskupcijelih brojeva (boolean tip podataka može poprimiti vrijednosti 0 ili 1, tj.istina ili laž).Preciznost decimalnih brojeva izravno je vezana za računalo na kojemse program izvršava, tj. ako isti program izvršavamo na 2 različita tiparačunala postoji mogućnost da će preciznost decimalnoga dijela brojabiti različita.Kompleksni brojevi sastoje se od realnog i imaginarnog dijela, svaki odnjih prikazan je jednim decimalnim brojem. Kako bi se dohvatio realni i/iliimaginarni dio iz kompleksnog broja spremljenog u varijabli z, potrebnoje koristiti z.real i z.imag.z complex(1.11, 2.22)print(z)print(z.real)print(z.imag)Izlaz:(1.11 2.22j)1.112.2214

Osnove programiranja (Python) (D450)Nizovi znakovaKako bi se u varijable mogao spremati tekst, tj. znakovni niz, koristi setip podataka str, tj. string.Niz znakova (engl. String) može se zapisati na nekoliko načina.Uporabom: jednostrukih navodnika'Dozvoljavaju unutar niza "dvostruke" navodnike'Navodnici u C-unizZnakova 'Ovo je neki "niz" znakova!'print(nizZnakova)Izlaz:Ovo je neki "niz" znakova! U programskom jeziku C,postoji velika razlika izmeđukorištenja jednostrukih idvostrukih navodnika. Ujednostruke navodnike sestavlja jedno slovo, dok se udvostruke navodnike stavljaniz znakova.dvostrukih navodnika"Dozvoljavaju unutar niza 'jednostruke'navodnike"nizZnakova "Ovo je neki 'niz' znakova!"print(nizZnakova)Izlaz:Ovo je neki 'niz' znakova!Python tretira jednostruke navodnike identično kao i dvostrukenavodnike. trostrukih navodnika'''Tri jednostruka''', """Tri dvostruka"""Trostruki navodnici omogućavaju protezanje niza znakova kroz nekolikolinija. Svi uneseni razmaci uključeni su u niz znakova.nizZnakova '''Prva linijaDruga linijaTreca linija s razmakom ispred'''print(nizZnakova)Izlaz:Prva linijaDruga linijaTreca linija s razmakom ispredDohvaćanje vrijednosti unutar niza znakovaKod nizova znakova svaki znak ima svoju poziciju, pozicija na kojoj seneko slovo nalazi zove se indeks. Ako se želi dohvatiti znak koji je prvi unizu, na primjer u riječi "Hello!" želi se dohvatiti znak "H", to slovo u logiciprogramiranja nema poziciju 1, već ima poziciju, tj. indeks 0.Ako se želi dohvatiti element na nekom točno određenom indeksu, to seradi tako da nakon imena varijable u kojoj se nalazi

Osnove programiranja (Python) (D450) 1 Uvod Svrha ovoga tečaja jest upoznavanje s osnovama programskoga jezika Python. Prema mnogim studijama učenje programskoga jezika Python je izrazito jednostavno, ponajviše zahvaljujući tomu što ima jednostavnu sintaksu. Jedan od razloga zašto se danas sve više programira u Pythonu je jednostavna .