top of page

 

ZADACI ZA VEŽBANJE OSNOVA PYTHON-A

Napisati kod u kome korisnik unosi jednu reč, a output mu se ispisuje svaki karakter te reči u obrnutom redosledu:

tekst = input('Unesite tekst: ')

print('Unesen tekst je: ' + tekst)

def split(string):

return [char for char in string]

print('Niz je: ' + str(split(tekst)))

for t in reversed(split(tekst)):

print(t)

Output:

Unesite tekst: Reč
Unesen tekst je: Reč
Niz je: ['R', 'e', 'č']
č
e
R

Napisati kod u kome se ispisuje datum pokretanja koda u formatu dd-MMM-gggg (mesec ispisati rečima u tri slova) i izračunava koliko dana je prošlo od prvog januara 1990-te godine. Koristiti import datetime biblioteku za pronalaženje trenutnog datuma.

from datetime import date

danas = date.today()

print('Današnji datum: ', danas.strftime('%d-%b-%Y'))

datum = date(1990, 1, 1)

delta = danas - datum

print('Prošlo je: ' + str(delta.days) + ' dana')

Output:

Današnji datum: 13-Nov-2021

Prošlo je: 11639 dana

Napisati kod u kome se generiše nasumičan broj od 1-50 a korisnik unosi brojeve na kojima dobija odgovor ako je unesen broj veći ili manji od nasumičnog. Kada korisnik pogodi broj, dobija odgovor koliko je imao pokušaja.

import random

 

r = random.randint(0, 50)

counter = 1

broj = int(input('Unesite broj: '))

while(broj != r):

if broj > r:

print('Broj je manji')

else:

print('Broj je veći')

broj = int(input('Unesite broj: '))

counter = counter + 1

 

print('\nČestitam! Tačan broj je bio ' + str(r))

print('Broj pokušaja je: ' + str(counter))

Output:

Unesite broj: 10
Broj je veći
Unesite broj:
20
Broj je veći
Unesite broj:
30
Broj je manji
Unesite broj:
24


Čestitam! Tačan broj je bio 24
Broj pokušaja je: 4

Napisati kod u kome se od datog niza sa devet brojeva formiraju tri nova niza jednakih dužina koja sadrže vrednosti originalnog niza u rastućem redosledu.

niz = [11, 45, 8, 23, 14, 12, 78, 45, 89]

print('Dati niz: ', niz)

niz.sort()

print('Sortiran niz: ', niz, '\n')

duzina = len(niz)

velicina = int(duzina / 3)

start = 0

end = velicina

for i in range(velicina):

index = slice(start, end)

brojNiza= niz[index]

print("Niz", i, ': ', brojNiza)

start = end

end += velicina

Output:

Dati niz:  [11, 45, 8, 23, 14, 12, 78, 45, 89]
Sortiran niz:  [8, 11, 12, 14, 23, 45, 45, 78, 89]

Niz 0 :  [8, 11, 12]
Niz 1 :  [14, 23, 45]
Niz 2 :  [45, 78, 89]

Napisati kod pomoću kojeg se rešava kvadratna jednačina i ispisuju rezultati njenih korena.

import math

a = float(input('Unesite prvi koeficijent: '))

b = float(input('Unesite drugi koeficijent: '))

c = float(input('Unesite treći koeficijent: '))

 

if (a!=0.0):

d = (b*b)-(4*a*c)

if (d==0.0):

print('\nVrednosti su realne i jednake.')

r = -b/(2*a)

print('Koren vrednosti su ', r,' i ', r)

elif(d>0.0):

print('\nVrednosti su realne i različite.')

r1 = (-b+(math.sqrt(d)))/(2*a)

r2 = (-b-(math.sqrt(d)))/(2*a)

print('Prva vrednost korena je: ', r1)

print('Druga vrednost korena je: ', r2)

else:

print('\nVrednosti su imaginarne.')

rp = -b/(2*a)

ip = math.sqrt(-d)/(2*a)

print('Prva vrednost korena je: ', rp, '+ i', ip)

print('Druga vrednost korena je: ', rp, '- i', ip)

else:

print('Jednačina nije kvadratna.')

Output:

Unesite prvi koeficijent: 4
Unesite drugi koeficijent: 6
Unesite treći koeficijent: 2

Vrednosti su realne i različite.
Prva vrednost korena je:  -0.5
Druga vrednost korena je:  -1.0

Napisati kod koji proverava da li je unesen tekst palindrom.

def isPalindrome(inputString):

reverseString = inputString[::-1]

if (inputString.replace(' ','') == reverseString.replace(' ','')):

return True

return False

s = input('Unesite tekst: ')

result = isPalindrome(s.lower())

if result == 1:

print('Tekst je palindrom')

else:

print('Tekst nije palindrom')

Output:

Unesite tekst: Ana voli Milovana
Tekst je palindrom

Napisati kod koji kreira tekstualnu datoteku i ispisuje u njoj tri linije teksta (write), nakon toga otvara ponovo isti fajl i dodaje dve linije teksta (append), čita fajl i u konzoli ispisuje ono šta sadrži i nakon toga je kompletno obriše.

import os

 

file = open('fajl.txt''w+')

for i in range(3):

file.write('Ovo je prepisan tekst: %d\n' % (i+1))

file.close()

file = open('fajl.txt''a+')

for i in range(2):

file.write('Ovo je priložen tekst: %d\n' % (i + 1))

file.close()

file = open('fajl.txt', 'r')

if file.mode == 'r':

print(file.read())

file.close()

 

os.remove('fajl.txt')

Output:

Ovo je prepisan tekst: 1
Ovo je prepisan tekst: 2
Ovo je prepisan tekst: 3
Ovo je priložen tekst: 1
Ovo je priložen tekst: 2

Napisati kod koji simulira rad kase u prodavnici korišćenjem klase za artikle i klase u kome će se svi artikli smestiti. Nakon unošenja svih artikla, ispisati šta je sve kupljeno i ukupna cena svih artikla.

class artikal:

def __init__(self, name, price):

self.name = name

self.price = price

def __str__(self):

return '{:6.2f} din, {:s} '.format(self.price, self.name)

class kupovina:

def __init__(self):

self.items = [ ]

def add(self, item):

self.items.append(item)

def total(self):

return '\nUkupna cena: {:.2f} din'.format(sum(item.price for item in self.items))

def __str__(self):

return '\n'.join(str(item) for item in self.items)

korpa = kupovina()

korpa.add(artikal('Čokolada', 120))

korpa.add(artikal('Hleb', 45))

korpa.add(artikal('Pavlaka', 150))

korpa.add(artikal('Jaja 10kom', 140))

print(korpa)

print(korpa.total())

Output:

120.00 din, Čokolada 
  45.00 din, Hleb 
150.00 din, Pavlaka 
140.00 din, Jaja 10kom 

Ukupna cena: 455.00 din

bottom of page