# Ovo je komentar u jednoj liniji
"""
Ovo je
komentar u
više
linija
"""
#print ("Hello, World")
print ("Hello, World") # Ovo je komentar u jednoj liniji
print(10)
print("String")
a = 5
print(a)
x=5
y = 1.0
pi = 3.14
x = 2*x
poruka= "Programiranje je lepo"
ime = "Jovana"
pozdrav = "Zdravo " + ime
print (type(x))
print (type(y))
print (type(pi))
print (type(poruka))
print (type(pozdrav))
print (pozdrav)
a, b, poruka = 3, 4, 'jednostavno zar ne!'
print(a, b, poruka)
Razmena vrednosti može se realizovati preko naredbe višestruke dodele vrednosti, što predstavlja optimalno rešenje u stilu jezika Python.
a = 10
b = 50
a, b = b, a
print("a =", a)
print("b =", b)
55-15
2*10
2**10
23/10
23//10
23%10
ime = input("Kako se zoveš: ")
print(ime, "dobar dan!", sep=", ")
Napisati program koji za unete vrednosti (masu i visinu) izračunava index telesne mase (body mass index, bmi)
# izvršena je konverzija u int i float, jer funkcija input vraća string
masa = int(input ("Unesite telesnu masu u kilogramima: "))
visina = float(input ("Unesite visinu u metrima: "))
bmi = masa/(visina**2)
print ("Vaš indeks telesne mase je: ", bmi)
n = 10
print('Kvadrat broja {} je {}.'.format(n,n**2))
x = 10
y = 50
print('x = {}, y = {}'.format(x, y))
try:
a = int(input("Unesite vrednost celog broja a: "))
print(a)
except:
print('Neispravna vrednost')
# Za uneti broj ispitati da li je paran
a = int (input ('Unesite vrednost celog broja a: '))
if a % 2 == 0:
print ('Broj je paran.')
else:
print ('Broj je neparan')
a = int(input('Unesite vrednost celog broja a:'))
if a % 3 == 0:
print('Broj a je deljiv brojem 3')
elif a % 3 == 1:
print('Broj a daje ostatak 1 pri deljenju sa brojem 3')
else:
print('Broj a daje ostatak 2 pri deljenju sa brojem 3')
try:
a = int(input('Unesite vrednost celog broja a: '))
if a % 3 == 0:
print('Broj a je deljiv brojem 3')
elif a % 3 == 1:
print('Broj a daje ostatak 1 pri deljenju sa brojem 3')
else:
print('Broj a daje ostatak 2 pri deljenju sa brojem 3')
except:
print('Neispravna vrednost broja a!')
for i in range(5):
print(i)
for i in range(5):
print("Zdravo!")
for i in range(1,6):
print(i)
for i in range(5,51,5):
print(i)
for i in range(25,4,-5):
print(i)
for i in "banana":
print(i)
Napisati program kojim se za uneti prirodan broj n (n ≥ 1) prvo štampaju svi prirodni brojevi od 1 do n, pa onda svi parni brojevi od 1 do n i na kraju svi neparni brojevi od 1 do n.
n=int(input("Unesi ceo broj n:"))
for i in range(1,n+1):
print(i, end=" ")
print()
for i in range(2,n+1,2):
print(i, end=" ")
print()
for i in range(1,n+1,2):
print(i, end=" ")
print()
# Za prekid izvršenja petlje, bez obzira na ispunjenost uslova koristi se naredba break
for i in range(10):
print(i)
if i > 5:
break
# Naredbom continue se prekida izvršavanje trenutne iteracije i prelazi na sledeću
for i in range(10):
if i <= 5:
continue
print(i)
i = 0
while i < 5:
print(i)
i += 1
br=0
while br<5:
print('Zdravo!')
br=br+1
Izračunati zbir unetih brojeva. Brojeve unositi dok se ne unese 0.
x = int(input("Unesi broj: "))
s=0
while x != 0:
s = s + x
x = int(input("Unesi broj: "))
print("Zbir unetih brojeva je ", s)
def saberi(a, b):
c = a + b
return c
print (saberi(10,50))
# Funkcija moze vratiti vise vrednosti
def minimum_i_maksimum(a, b):
minimum = min(a,b)
maksimum = max(a,b)
return minimum, maksimum
a = - 10
b = - 22
mini, maksi = minimum_i_maksimum(a, b)
print(mini, maksi)
# lista celih brojeva
lista = [1, 3, 5, 7, 9]
print(lista)
# lista stringova
zivotinje = ['pas','macka','mis','majmun','slon']
print (zivotinje)
lista=list(range(1,15))
print (lista)
samoglasnici = ['a', 'e', 'i', 'o', 'u']
n = len(samoglasnici)
print('Dužina liste je: {}'.format(n))
lista = [1, 2, 3, 4]
n = len(lista)
for i in range(0, n): # for i in range(len(lista)) [0,n) -> 0..n-1
print(lista[i])
lista = [1, 2, 3, 4]
n = len(lista)
for element in lista:
print(element)
A = [2, 6, 1, 9, 3, 5, 4]
A.sort()
print (A)
A=[1, 2, 3, 4, 5, 6, 9]
A.reverse()
print (A)
[polazni_indeks:zavrsni_index(n+1):korak]
lista = [1, 2, 3, 4]
print(lista[1:3])
lista = [1, 2, 3, 4]
print(lista[1:4:2])
lista = [1, 2, 3, 4] # -4 -3 -2 -1
print(lista[-4:-1])
lista= ['Ejda', 2, 'Tjuring', 4,'Bebidz', 6, 'Bul']
print (lista[2], lista[-1])
print (lista[1:5])
print (lista[2:])
print (lista[:5])
print (lista[12])
# Dodavanje elemenata na kraj liste –append
lista = ["jabuka", "kruska", "banana"]
lista.append("kivi")
print (lista)
# Dodavanje elemenata na željenu poziciju –insert
lista = ["jabuka", "kruska", "banana"]
lista.insert(1, "kivi")
print(lista)
# Brisanje elementa iz liste –del, pop, remove
lista1 = ["jabuka", "kruska", "banana"]
lista1.remove("kruska")
print(lista1)
lista2 = [1, 2, 3, 4, 5, 6, 7]
lista2.pop()
print(lista2)
lista2.pop(2)
print(lista2)
del lista2[0]
print (lista2)
# clear() – prazni listu
lista = ["jabuka", "kruska", "banana"]
lista.clear()
print(lista)
# Broj ponavljanja elementa –count
L = [2, 3, 4, 1, 7, 2, 3, 1, 1, 0, 9, 1]
print (L.count(1))
formula1= ['Hamilton', 'Bottas', 'Vettel', 'Hamilton', 'Albon']
print (formula1.count('Hamilton'))
# Spajanje listi
lista1 = ["a", "b" , "c"]
lista2 = [1, 2, 3]
lista3 = lista1 + lista2
print(lista3)
# Dodavanje elementa na pocetak liste
element = 0
lista = [1, 2, 3, 4]
print ([element] + lista)
a = 'Ovo je string'
b = "Ovo takođe"
print(a)
print (b)
s1 = "Zdravo"
s2 = "Svete"
print(s1 + s2)
print(s1 + " "+ s2)
niska = 'aeiou'
for c in niska:
print(c)
Napomena: Stringovi su nepromenljivi
predmet = 'osnove programiranja'
'''
Ne radi
predmet[0] = 'O'
print(predmet)
'''
# Predloženo rešenje - formiranje nove reči na osnovu stare:
predmet1 = 'O'+ predmet[1:]
print(predmet1)
# Torka je nepromenljiva lista - po formitranju ne može da se menja
torka = (1, 2, 3, 4)
print(torka)
torka = (7, 3, 9, 2)
print(torka[2])
# Konverziju nekog objekta u torku
t1 = tuple([1,2,3])
t2 = tuple('abcde')
print (t1)
print (t2)
import random
x = random.random()
print(x)
import random
x = random.randint(1,20)
print(x)
import random
x = random.randrange(0, 10) # [0, 10)
print(x)
lista = [10, 100, 1000, 10000]
izabrani = random.choice(lista)
print(izabrani)
lista = [10, 100, 1000, 10000]
podskup = random.sample(lista, 3)
print(podskup)
skup1 = {1,2,3,4,5}
print (skup1)
# Funkcija set se može koristiti i za konverziju objekata u skupove.
skup2 = set([1, 2, 3, 4])
print(skup2)
skup3 = set('ovo je test')
print(skup3)
Brisanje duplih elemenata iz liste Možemo iskoristiti činjenicu da skupovi ne mogu imati ponovljene elemente.
L = [1,4,4,4,5,1,2,1,3] # lista sa ponavljanjem elemenata
L = list(set(L)) # konvertujemo listu u skup, pa nazad u listu
print(L)
dani={'Januar':31, 'Februar':28, 'Mart':31, 'April':30,
'Maj':31, 'Jun':30, 'Jul':31,'Avgust':31, 'Septembar':30, 'Oktobar':31, 'Novembar':30,'Decembar':31}
print(dani)
dani={'Januar':31, 'Februar':28, 'Mart':31, 'April':30,
'Maj':31, 'Jun':30, 'Jul':31,'Avgust':31, 'Septembar':30, 'Oktobar':31, 'Novembar':30,'Decembar':31}
print(dani['Jun'])
recnik = {}
# ili
recnik = dict([])
# Dodavanje elemenata u recnik
recnik['a'] = 10
print(recnik['a'])
d = {'A':100, 'B':200}
d['A'] = 400 # Promena vrednosti
print (d)
d['C'] = 500 # Dodavanje novog elementa u rečnik
print (d)
del d['A'] # Brisanje elementa iz rečnika
print (d)
d = {'A':100, 'B':200}
# Kako od rečnika dobiti liste ključeva i vrednosti
print (list(d))
print(list(d.values()))
list(d.items()) # parovi (ključ,vrednost)
# Parovi koje vraća d.items() nazivaju se torke(tuples)
import math
print(math.sqrt(4))
print(math.ceil(2.3))
print(math.floor(5.3))
# ...
Rukovanje datotekama je važan deo svake aplikacije. Python ima nekoliko funkcija za kreiranje, čitanje, ažuriranje i brisanje datoteka. Ključna funkcija za rad sa datotekama u Python-u je funkcija open( ) .
Funkcija open( ) ima dva parametra naziv datoteke (sa apsolutnom ili relativnom putanjom) koja će se kreirati/čitati/menjati i režim korišćenja (engl. mode), način na koji će se datoteka koristiti .
Postoje četiri različita načina (režima) za otvaranje datoteke:
"r"- Read - Podrazumevana vrednost. Otvara datoteku za čitanje. Ako datoteka ne postoji javiće grešku.
"a" - Append - Ako datoteka ne postoji, kreira novi datoteku. Novi podaci se upisuju na kraj datoteke, ako datoteka postoji. Nije dopušteno čitanje iz datoteke. Pokazivač za pisanje u datoteku nalazi se na kraju datoteke.
"w" - Write - Otvara datoteku za pisanje, kreira datoteku ako ne postoji. Ako datoteka postoji, briše se sadržaj postojeće datoteke.
"x" - Create - Kreira navedenu datoteku, vraća grešku ako datoteka postoji.
"+" - Ako se doda ovaj znak, omogućava se čitanje i pisanje iz datoteka.
Pored toga, možete definisati sledeće parametre:
"t"- Tekst - Podrazumevana vrednost, režim teksta.
"b" - Binarno - Binarni režim (npr. slike)
Prilikom poziva funkcije open( ) parametar mode nije obavezan. Ako se ovaj parametar izostavi, podrazumevana vrednost je 'r'.
apsolutna putanja – potpuna putanja od particije sve do datoteke
relativna putanja – putanja koja nije potpuna, već se datotekama pristupa tako da se kao početni folder uzima foldre u kojem se nalazi skripta
f=open("demodatoteka.txt","x")
Da bismo otvorili datoteku, koristimo ugrađenu open( ).
Funkcija open( ) vraća objekat fajl, koji ima read( ) metod za čitanje sadržaja datoteke.
Kako bismo pročitali datoteku, potrebno je pozvati f.read(size) metodu. Ova metoda čita podatke iz datoteke i vraća ih kao niz znakova.
Parametar size je opcioni argument. U slučaju da je parametar size izostavljen ili pak negativan, tada se čita cela datoteka.
Pretpostavimo da imamo datoteku kao na slici
f = open("demodatoteka.txt", "r")
sadrzaj_datoteke = f.read()
print(sadrzaj_datoteke)
Ako se datoteka nalazi na drugoj lokaciji, moraćete da navedete putanju datoteke.
try:
f = open("demofile.txt", "r")
sadrzaj_datoteke = f.read()
print(sadrzaj_datoteke)
except:
print("Greška! Tražena datoteka ne postoji.")
f = open("demodatoteka.txt", "r")
print(f.read(5))
Možete vratiti jednu liniju koristeći readline( ) metod:
f = open("demodatoteka.txt", "r")
print(f.readline())
# Prolazak kroz datoteku red po red
f = open("demodatoteka.txt", "r")
for x in f:
print(x)
Dobra praksa je da uvek zatvorite datoteku kada završite sa njom.
f = open("demodatoteka.txt", "r")
print(f.read())
f.close()
Da biste pisali u postojeću datoteku, morate dodati parametar funkciji open( ) :
"a" - append - će se dodati podatke na kraj datoteke
"w" - write - će prepisati bilo koji postojeći sadržaj
# Primer 1
f = open("demodatoteka.txt", "a")
f.write("Ovaj sadržaj smo naknadno dodali u datoteku.")
f.close()
# otvara i čita datoteku nakon dodavanja
f = open("demodatoteka.txt", "r")
print(f.read())
f.close()
# primer 2 Pisaće preko postojećeg sadržaja
f = open("demodatoteka.txt", "w")
f.write("Ovaj sadržaj će biti prepisan preko postojećeg u datoteci demodatoteka.txt!")
f.close()
# otvara i čita datoteku nakon dodavanja
f = open("demodatoteka.txt", "r")
print(f.read())
Da biste kreirali novu datoteku u Python-u, koristite open( ) metod, sa jednim od sledećih parametara:
"x" - create - kreiraće datoteku, vraća grešku ako datoteka postoji
"a" - append - kreiraće datoteku ako navedena datoteka ne postoji
"w" - write - kreiraće datoteku ako navedena datoteka ne postoji
# Kreira novu praznu datoteku
f=open("nova_datoteka.txt","x")
# Kreira novu datoteku ako ne postoji
f = open("myfile.txt", "w")
Da biste izbrisali datoteku, morate uvesti OS modul i pokrenuti njegovu os.remove( ) funkciju:
import os
os.remove("myfile.txt")
# Da biste izbegli grešku,
# proverite da li datoteka postoji pre nego što pokušate da je izbrišete.
import os
if os.path.exists("demofile.txt"):
os.remove("demofile.txt")
else:
print("Tražena datoteka ne postoji.")