You are on page 1of 66

Testiranje softvera

Uvod u Python
Python
 Uvod u Python
 Podešava je okruže ja
 Promenljive
 Tipovi podataka
 Komentari
 Operatori
Python
• Nastao 90ih godina
• Autor: Guido van Rossum
• Ideja za aziv je šou „Leteći irkus Mo tija Pajto a e gl. Monty Pytho ’s
Flying Circus ) i nema veze sa reptilima
• Progra ski jezik visokog ivoa opšte a e e
• Objektno-orijentisan
• Skriptni jezik, interperetira se – procesuira se u run-time-u, nije potrebno
ko pajlira je pre izvršava ja progra a
• 2008 – verzija Python 3.0
• 2016 – verzija Python 3.6
Python
Karakteristike:
• Jed ostav ost čita ja i razu eva ja – ali roj ključ ih reči, jed ostav a
struktura, jasna sintaksa
• Jed ostav ost održava ja
• Interaktivni mod – komandna linija
• Portabilnost – za više vrsta platfor i, isti i terfejs
• Proširivost – dodava je odula za proširiva je fu k io al osti i
prilagođava je
• Baze podataka – poseduje i terfejs ka svi veći ko er ijal i BP
• Skalabilnost
• ...
Python
Podešavanje okruženja:
• Uku ava je reči „p tho u ko a d oj li iji Command Prompt)
ože se proveriti da li je već i stalira a aši i i koja verzija
• Izvorni kod, dokumentacija i vesti se
ogu pro aći a ofi ijal o sajtu
https://www.python.org/
• Instalacija za Windows:
https://www.python.org/downloads/
• Napomena: odabrati verziju 3.x
Python
Podešavanje okruženja:
• Preuzeti installer
Python
Podešavanje okruženja:
• I stalirati koristeći podrazu eva a podešava ja
Python
Podešavanje okruženja:
• Podešava je puta je PATH – ukoliko nije selektovano prilikom
instalacije
• Progra i .e e fajlovi ogu iti a različiti loka ija a, stoga je
potre o defi isati puta ju gde će ih OS tražiti
• Puta ja se čuva kao pro e ljiva okruže ja e gl. Environment
variable)
• Za dodavanje Python foldera u putanju potrebno je u Command
prompt-u ukucati path %path%;C:\Python
• Napomena: C:\Python oz ačava puta ju do Pytho direktoriju a
Python
Pokretanje programa:
Postoji ači a za rad s P tho -om:
1. Interaktivni interpreter – komandna linija ili shell
2. Izvršava je skripte iz ko a d e li ije
3. Editor koda ili I tegrisa o razvoj o okruže je e gl. Integrated
Development Environment)
Python
1. Interaktivni interpreter:
• Pokretanjem python.exe ili ukucavanjem python u Command Prompt
• Za izvršava je potre o je otku ati ared u i pritis uti E ter

Input

Output
Python
print
• Os ov a fu k ija za ko u ika iju iz eđu raču ara i koris ika
• Fu k ija pri t o ogućava ispisiva je poruke
Python
input
• Os ov a fu k ija za ko u ika iju iz eđu raču ara i koris ika
• Funkcija input o ogućava korisnički u os
• O o što koris ik u ese se dodeljuje pro e ljivoj kao vred ost
Python
2. Skripte:
• Moguće je apraviti skriptu sa želje i ared a a
• Pokretanjem skripte (script.py izvršavaju se ared e iz iste
Python
3. Editor koda:
• Instalirati Visual Studio Code sa sajta:
https://code.visualstudio.com/download
• Instalirati ekstenziju za Python:
https://marketplace.visualstudio.com/items?itemName=ms-python.python
Python
Visual Studio Code
1. Kreirati novi fajl:
File  New File
2. Sačuvati fajl:
File  Save as...
3. Ukucati naziv fajla i
ekstenziju .py

Interpreter
Python
Visual Studio Code
Dokument koji je trenutno otvoren

Rad a površi a za unos koda (Editor)

Kartice s opcijama prikaza:


Opcije za prikaz
• Problema
• Dokumenata
• Izlaza
• Prozora za pretragu
• Konzole za debug-ovanje
• Prozora za debug
• Terminala
• Ekstenzija
Dodatne opcije
Python
Visual Studio Code
• Koristeći ekste ziju .p , i terpreter „z a da je u pita ju P tho fajl
• Ukoliko nije podeše i terpreter, po oću ctrl+shift+p otvoriće se
prozor odakle se ože oda rati
Python
Izvršavanje
Prvi ači :
• U okviru E plorera pro aći želje i fajl
• Desni klik na fajl
• Open in Terminal
Python
Izvršavanje
Drugi ači :
• Des i klik a rad u površi u
• Run Python File in Terminal
Python
Izvršavanje
• Može se izvršiti i sa o deo
naredbi
• Selektovati želje i kod
• Desni klik na selektovani
kod
• Run Selection/Line in
Python Terminal
Python
Izvršavanje
• Izvršava je koda u karti i
Terminal se vidi izlaz
Python
Komentari
• I terpreter ig oriše komentare
• Interpreter takođe ig oriše prazne linije (engl. Blank lines)
• Ko e tari služe kao po oć progra eru
• Za komentare se u Python-u koristi znak #
• Ukoliko # ije u okviru stri ga, oz ačava početak ko e tara, a sve iza
tog znaka do kraja reda predstavlja komentar
Python
Promenljive
• Promenljive su mesta u memoriji u kojima podaci mogu privremeno da se
čuvaju da i progra ogao da ih koristi
• Mogu predstavljati ečiju visi u, adresu, tre ut o vre e, i dr.
• Promenljive imaju tip, ime i vrednost
• Kada se promenljiva kreira, rezerviše se esto u e oriji, u zavis osti od
tipa promenljive
• Eksplicitna deklaracija nije potrebna da bi se rezervisala memorija,
deklara ija se dešava auto atski kada se dodeli vred ost pro e ljivoj
• Vrednost pro e ljive ože da se menja za vre e izvršava ja programa
Naziv promenljive
visina=185 Vrednost
Operator dodele vrednosti
Python
Promenljive
• Naziv promenljive (engl. identifier):
• ože početi slovo ili do jo rto _
• ože da sadrži slovo, do ju rtu ili roj visina=185
• ostali znakovi (@, $, %,...) nisu dozvoljeni
• Pr. _sirina
duzina
1stranica
• Python razlikuje velika i mala slova (engl. Case sensitive), tako da su
promenljive broj i Broj dve različite pro e ljive
• Naziv promenljive treba da bude smisleno ime, kako bismo u svakom
tre utku z ali a šta se pro e ljiva od osi
Python
Promenljive
• Ključ e reči su rezervisa e reči koje se e s eju koristiti kao aziv
promenljive
Python
Promenljive
• Tipovi podataka
• Poda i koji su s ešte i u e oriji ogu iti različitog tipa
• Standardni tipovi podataka:
• String
• Numbers
• List
• Tuple
• Dictionary
Python
Promenljive
• Tip podatka – String
• String predstavlja niz karaktera (slova, brojevi, znakovi interpunkcije,...)
• Vred ost pro e ljive koja je tipa stri g ora iti iz eđu avod ika ili
apostrofa (bitno je da se koristi par istih), npr:
Python
Promenljive
• Tip podatka – String
• Prilikom odabira nači a avođe ja stri ga, tre a i ati u vidu i
sadržaj stri ga
• Ukoliko treba iskoristiti isti tip navodnika u okviru stringa, mora se
koristiti escape znak (\), pr:
Python
Promenljive
• Tip podatka – String

Izvor: Python in a Nutshell


Python
Promenljive
• Tip podatka – String
• Trostruki apostrofi ili navodnici ( ili ) se koriste za promenljivu tipa
stri g, za avođe je vred osti u više redova
Python
Promenljive
• Tip podatka – String
• Podskup skupa iza karaktera se do ija koristeći [ ] ili [:]
• Indeksiranje poči je od , npr:
• student[0] – prvi karakter
• kurs[11:18] – podskup od indeksa 11 do indeksa 18
• kurs[15:] – podskup karaktera od indeksa 15 do kraja
Python
Promenljive
• Tip podatka – String
• Operatori za rad sa stringovima: + i *
• Z ak + služi za ko kate a iju spaja je stri gova
• Z ak * služi za po avlja je, pr:
Python
Promenljive
• Tip podatka - number
• Brojevi se skladište kao u eričke vred osti. Npr:
var1 = 5
brGodina = 35
• Za brisanje objek(a)ta koristi se naredba del. Npr:
del var1
del brGodina
Python
Promenljive
• Tip podatka - number
• P tho podržava u erička tipa:
• integer (celi brojevi), pr. – 10
• lo g eli rojevi, gde je opseg veći ego kod i t-a), pr. – 51829371L
• float (brojevi sa decimalnim zarezom), pr. – 15.23
• complex (kompleksni brojevi), pr. – 3e+26J
Python
Konverzija tipova podataka
• Za ko verziju tipova podataka koriste se sledeće fu k ije:
Funkcija Opis
int(x [,base]) Konverzija x u ceo broj (int), ukoliko je x string, specificira se osnova
long(x [,base] ) Konverzija x u ceo broj (long), ukoliko je x string, specificira se osnova
float(x) Konverzija x u realni broj (float)
complex(real [,imag]) Kreiranje kompleksnog broja
str(x) Konverzija objekta x u string
tuple(s) Konverzija s u torku
list(s) Konverzija s u listu
dict(s) Konverzija s u reč ik
Python
Promenljive
• Tip podatka - number
• Primer:
• Napisati skriptu koja:
• Pravi promenljivu sa nazivom a, tipa number koja ima vrednost 5 i
ispisuje je
• Raču a i ispisuje površi u i o i kruga čija je duži a preč ika
vrednost promenljive a
• Raču a i ispisuje površi u i obim kvadrata čija je duži a stranice
vrednost promenljive a
Python
Promenljive
• Tip podatka - number
• Primer:
Python
bool
• Svaka vrednost se u Python-u može koristiti kao vred ost true tač o
ili false etač o
• Svaki broj koji nije nula (0) ima vrednost true
• Svaki stri g, torka, lista, reč ik, koji ije praza i a vred ost true
• ilo kog u eričkog tipa i svi praz i „skupovi i aju vred ost false
• Ugrađe i tip bool ože i ati sa o dve vred osti – true ili false,
koji a odgovaraju u eričke vred osti i , redo
Python
Operatori
• Operatori služe za upravlja je vred osti a pro e ljivih
• Tipovi operatora:
• Arit etički operatori (engl. Arithmetic Operators)
• Relacioni operatori operatori poređe ja, e gl. Comparison Operators)
• Operatori dodele vrednosti (engl. Asignment Operators)
• Logički operatori (engl. Logical Operators)
• Bitwise operatori (engl. Bitwise Operators)
• Operatori identiteta (engl. Identity Operators)
• Operatori čla stva (engl. Membership Operators)
Python
Operatori
• Arit etički operatori
• Ako postoje promenljive sa vrednostima: a=20 i b=10
Operator Primer
+ a + b = 30
- b – a = -10
* a * b = 200
/ a/b=2
% (Modulus) a%b=0
** (Exponent) a**b = 20 na 10-i
// (Floor Division) a//b=2; 22//10 = 2; 22.0//10.0=2.0; -11.0/3=-4.0
Python
Operatori
• Operatori poređe ja
• Ako postoje promenljive sa vrednostima: a=10 i b=20
Operator Opis Primer
== Poredi vrednosti dva operanda, ako su iste onda je uslov zadovoljen (a==b) not true
!= Poredi vrednosti dva operanda, ako nisu iste onda je uslov zadovoljen (a!=b) true
<> Poredi vrednosti dva operanda, ako nisu iste onda je uslov zadovoljen (a<>b) true
> Ako je vrednost levog operanda veća, uslov je zadovoljen (a>b) not true
< Ako je vrednost desnog operanda veća, uslov je zadovoljen (a<b) true
>= Ako je vrednost levog operanda veća ili su jed aki, uslov je zadovoljen (a>=b) not true
<= Ako je vrednost desnog operanda veća ili su jed aki, uslov je zadovoljen (a<=b) true
Python
Operatori
• Operatori dodele vrednosti
Operator Primer Ekvivalent
= C=b C=b
+= C += b C=C+b
-= C -= b C=C-b
*= C *= b C=C*b
/= C /= b C=C/b
%= C %= b C=C%b
**= C **= b C = C ** b
//= C //= b C = C // b
Python
Operatori
• Operatori dodele vrednosti
• Prvo se izraču a izraz sa des e stra e z aka =
• Nako toga se izraču ata vred ost dodeljuje pro e ljivoj sa leve stra e, pr:
a=7
b=6 a + b = 13
C=a+b
C je sada 13

• Operatori dodele vred osti predstavljaju skraće i ači zapisiva ja ekog izraza
• C+=b ili C = C + b
• U o a slučaja vred ost C je sada 9
Python
Operatori
• Logički operatori

Operator Objaš je je
AND Uslov je zadovoljen ukoliko oba operanda imaju vrednost true

OR Uslov je zadovoljen ukoliko bar jedan operand ima vrednost true

NOT O rće vred ost ako je ešto true postaje false i o rat o
Python
Operatori
• Operatori čla stva – provera da li se ešto alazi u skupu
Operator Objaš je je
IN Ima vrednost true ukoliko se promenljiva nalazi u nekom skupu
NOT IN Ima vrednost true ukoliko se promenljiva ne nalazi u nekom skupu

• Operatori identiteta – provera memorijske lokacije dva objekta


Operator Objaš je je
IS Ima vrednost true ukoliko promenljive sa obe strane operatora pokazuju na isti objekat u memoriji
IS NOT Ima vrednost true ukoliko promenljive sa obe strane operatora ne pokazuju na isti objekat u memoriji
Python
Operatori
• Bitwise operatori – rade sa bitovima I izvode operacije bit po bit
Operator Objaš je je
& Kopira bit (1) ako se nalazi u oba operanda
| Kopira bit ako postoji u bar jednom operandu
^ Kopira bit ukoliko postoji u jednom operandu a drugom ne
Unarni operator (nad 1 operandom)
~
Komplement dvojke
Vrednost levog operanda se pomera udesno za broj bitova
>>
specificiranih od strane desnog operanda
Vrednost levog operanda se pomera ulevo za broj bitova
<<
specificiranih od strane desnog operanda
Python
Brojevni sistemi

Brojevni sistem Osnova Cifre


DEKADNI 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

BINARNI 2 0, 1

OKTALNI 8 0, 1, 2, 3, 4, 5, 6, 7
HEKSADEKADNI 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Python
Brojevni sistemi
Dekadni brojevni sistem
• Osnova (baza) dekadnog brojevnog sistema je broj 10
• Koristi cifre:
• 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
• Svaka cifra dekadnog sistema rojeva i a svoju teži u koja je predstavlje a
stepenom broja 10 i to se prikazuje kao 10i, gde je eksponent i ceo broj i
jegova vred ost je određe a položaje ifre u sa o broju
Python
Brojevni sistemi
Binarni brojevni sistem
• Osnova (baza) binarnog brojevnog sistema je broj 2
• Koristi cifre:
• 0i1
• Svaka ifra i ar og siste a rojeva i a svoju teži u koja je predstavlje a
stepenom broja 2 i to se prikazuje kao 2i, gde je eksponent i ceo broj i
jegova vred ost je određe a položaje ifre u sa o broju
• Binarna cifra se naziva bit
• To je siste po oću kojeg rade raču ari
Python
Brojevni sistemi
Pretvaranje iz dekadnog u ostale brojevne sisteme
• Pretvaranje iz dekadnog brojnog sistema u ostale izvodi se deljenjem sa
os ovi o želje og sistema
• Deli se sve dok celobrojni rezultat deljenja ne postane 0
• Novi broj se dobija od ostataka deljenja počevši od zadnjeg ostatka
• Pretvaranje iz dekadnog u:
• Bi ar i rojev i siste vrši se deljenjem sa 2
• Oktalni brojevni siste vrši se deljenjem sa 8
• Heksade i al i rojev i siste vrši se deljenjem sa 16
Python
Brojevni sistemi
Primer pretvaranja dekadnog u binarni brojevni sistem
Python
Brojevni sistemi
Pretvaranje iz ostalih brojevnih sistema u dekadni brojevni sistem
• Pretvaranje iz binarnog, oktalnog i heksadecimalnog brojnog sistema
u dekadni izvodi se ože je
Python
Brojevni sistemi
Primer

• 1101(2) = ?(10)

• 1101(10) = ?(2)

• 335(10) = ?(2)
Python
Brojevni sistemi
Primer

• 1101(2) = 13(10)

• 1101(10) = 00000100 01001101 (2)

• 335(10) = 101001111(2)
Python
Operatori
• Bitwise operatori – operatori za rad sa binarnim brojevima

1011 1011 1011


& 0110 | 0110 ^ 0110
--------------- --------------- ---------------
0010 1111 1101

~ 0000 0010 1100 << 2 1100 >> 2


----------------- ----------------- ---------------
1111 1110 11 0000 0011
Python
Operatori
• Prioritet operatora
• Ukoliko u isto izrazu postoji više operatora, poštuje se prioritet:
Python
Dodatno:
• Moguće je i i ijalizovati više pro e ljivih istovre e o,
pritom se vrednosti dodeljuju redom
• Moguće je ispisati vred osti više pro e ljivih
istovremeno
• Nije dozvoljeno kombinovanje ispisa vrednosti
promenljivih tipa string i promenljivih tipa number na
ovaj ači :
Python
Primer
• O ogućiti u os roja sa tastature
• Ispisati vrednost unesenog broja na 3. stepen

Unesi broj: 3
27
Python
Primer
• O ogućiti u os roja sa tastature
• Ispisati vrednost unesenog broja na 3. stepen
Python
Primer
• Za u etu rzi u i vre e izraču ati predje i put

Unesite brzinu <km/hr>: 80


80
Unesite proteklo vreme <hrs>: 3
3
Predjeni put: 240
Python
Primer
• Za u etu rzi u i vre e izraču ati predje i put
Python
Zadatak 1.
• Izraču ati:
• 1011 1110 & 0110 1011
• 0010 0110 | 1010 1001
• 1000 ^ 0101
• ~ 1100 1011
• 1010 1000 << 2
• 0101 0010 >> 2
Python
Zadatak 2.
• Kreirati promenljive: imePrezime, godine, adresa, brLicneKarte i
dodeliti im vrednosti redom: Marija Popov, 19, Beogradska 9, 13762
• Išta pati nazive i vrednosti svih promenljivih redom, pr. ispisa:
imePrezime=Marija Popov

• Promeniti vrednosti promenljivih


• Išta pati ove vred osti pro e ljivih u okviru jedne naredbe, ispis:
Student: Marina Popov, Godina: 21, Ulica: Beogradska 19, Licna Karta: 100798
Python
Zadatak 3.
• Kreirati promenljive: x koja ima vrednost 30 i y koja ima vrednost 7
• x ima novu vrednost. Pomoću operatora dodele vrednosti izraču ati
ostatak pri deljenju jednog broja s drugim
• Rezultat izraza dodeliti promenljivoj pod nazivom rez
• Ispisati „Vrednost promenjive rez je ? , gde će u esto upit ika stajati
vrednost promenljive rez
• Po oć: ostatak pri delje ju sa 7 je , pa i se šta pala vred ost:
• Bez kreira ja pro e ljivih ispisati rezultat ože ja i
Python
Zadatak 4.
• Godiš ji o us ko er ijaliste se raču a a os ovu z ira koefi ije ata koje je ostvario toko ele
godine
• Osnovica komercijaliste je 40000
• Izraču ati polugodiš ji koeficijent i ispisati ga
• Na trenutni zbir koeficijenata dodati i preostale (za mesece jul-decembar) Mesec Koeficijent
• Ukup i godiš ji koefi ije t po ožiti s desetinom osnovice i prikazati bonus Jan 0.17
• january_to_june = ?
Feb 1.9
• july= 0.67
• august= 0.35 Mar 0.13
• september= 1.18
• october = 0.20 Apr 1.02
• november = 0.66 May 0.78
• december = 1
• total = ? Jun 0.67
• bonus = ?

You might also like