Mini zadaci: temperatura i kviz
U ovoj lekciji vežbaćeš grananje u Pythonu kroz praktične primere i mini zadatke. Cilj je da primeniš if, elif i else zajedno sa logičkim operatorima.
1. Provera temperature
Napiši program koji proverava temperaturu i ispisuje odgovarajuću poruku:
temperatura = float(input("Unesi temperaturu u °C: "))
if temperatura < 0:
print("Vreme je ispod nule")
elif temperatura <= 20:
print("Vreme je hladno")
elif temperatura <= 30:
print("Vreme je prijatno")
else:
print("Vreme je toplo")
Ovaj zadatak vežba višestruke uslove i logičke provere.
2. Jednostavan kviz
Napravite mini kviz sa jednim pitanjem. Ako korisnik unese tačan odgovor, čestitaj, inače napiši "pogrešno":
pitanje = input("Koliko je 5 + 7? ")
if pitanje == "12":
print("Tačno! □")
else:
print("Pogrešno, pokušaj ponovo.")
Ovaj zadatak uči kako se kombinuju uslovi sa unosom podataka od korisnika.
3. Dodatni izazov
- Proširi kviz sa još 2 pitanja.
- Koristi elif da proveriš više mogućih odgovora.
- Prikaži različite poruke za tačan i netačan odgovor.
Vežbanje ovih mini zadataka priprema te za složenije projekte u Pythonu.
4. Izazovni zadaci sa slučajnim brojevima
U sledećim zadacima vežbaćeš kombinovanje if/elif/else grananja sa funkcijama iz modula random za generisanje slučajnih brojeva.
4.1. Pogađanje broja
Napravi igru gde računar nasumično bira broj između 1 i 20, a korisnik pokušava da pogodi broj. Program treba da ispiše:
- "Preveliko" ako je korisnikov unos veći od slučajnog broja
- "Premalo" ako je unos manji
- "Tačno!" ako pogodi broj
import random
tajni_broj = random.randint(1, 20)
pogodak = int(input("Pogodi broj između 1 i 20: "))
if pogodak > tajni_broj:
print("Preveliko")
elif pogodak < tajni_broj:
print("Premalo")
else:
print("Tačno! Čestitam!")
4.2. Simulacija bacanja kocke
Program treba da simulira bacanje standardne kocke (1-6) i ispiše poruku u zavisnosti od broja:
- 1 ili 2 → "Loš rezultat"
- 3 ili 4 → "Srednji rezultat"
- 5 ili 6 → "Odličan rezultat"
import random
kocka = random.randint(1, 6)
if kocka <= 2:
print("Loš rezultat:", kocka)
elif kocka <= 4:
print("Srednji rezultat:", kocka)
else:
print("Odličan rezultat:", kocka)
4.3. Mini kviz sa slučajnim pitanjem
Proširi prethodni kviz tako da program nasumično bira jedno od 3 pitanja, a korisnik unosi odgovor. Program proverava tačnost odgovora.
import random
pitanja = ["Koliko je 3 + 4?", "Koliko je 5 * 2?", "Koliko je 10 - 6?"]
odgovori = ["7", "10", "4"]
i = random.randint(0, 2)
unos = input(pitanja[i] + " ")
if unos == odgovori[i]:
print("Tačno! ✅")
else:
print("Pogrešno. □")
Ovi zadaci pomažu da se naučeno primeni u praktičnim scenarijima, kombinujući grananja, logičke provere i slučajnost. Možeš pokušati da dodatno proširiš igru sa više pokušaja ili nagradama za tačan odgovor.
Galerija ilustracija za Python zadatke — Grananje i slučajni brojevi
Pregled vizuelnih prikaza zadataka sa grananjem i slučajnim brojevima koje učenici koriste u vežbama i mini-projektima.
Provera temperature
Mini kviz
Pogađanje broja
Bacanje kocke
Random kviz
Teži zadaci za samostalan rad — priprema za kvalifikacije
Ovo su zahtevniji zadaci iz prve faze kvalifikacija za takmičenja iz informatike. Obuhvataju gradivo do grananja (bez petlji), a rešenja namerno nisu data — zadaci su namenjeni samostalnom radu.
Zadatak 8 — Stubići od kockica
Opis: Dva druga imaju već postojeće stubove visina A i B. Žele da naprave novi par stubova prema jednoj od dve ideje: (A1, B1) ili (A2, B2). Produžavanje ili skraćivanje stuba za 1 jedinicu zahteva vreme Tx za prvog druga i Ty za drugog.
Počinju istovremeno, svaki radi na po jednom stubu. Vreme završetka je trenutak kada su obojica gotova. Potrebno je izračunati minimalno moguće vreme koje im treba da od postojećih stubova dobiju jedan od parova (A1, B1) ili (A2, B2).
Ulaz:
1) A B
2) A1 B1
3) A2 B2
4) Tx Ty
Izlaz: Jedan broj — minimalno vreme.
Uputstvo: Izračunaj vreme za svaki predlog: - vreme1 = max(|A − A1|·Tx, |B − B1|·Ty) - vreme2 = max(|A − A2|·Tx, |B − B2|·Ty) Odgovor je min(vreme1, vreme2).
Test primer 1 (iz zadatka):
Ulaz:
10 20
18 28
21 31
1 10
Izlaz:
20
Test primer 2 (dodatni):
Ulaz:
7 4
9 13
14 12
3 2
Izlaz:
15
Zadatak 17 — Šljive
Opis: Janko uzima po 2 šljive, Nataša po 3, sve dok ima najmanje 5. Kada ostane manje od 5, ostatak uzima Marko.
Ulaz: N — početni broj šljiva.
Izlaz: Broj šljiva koje je uzeo Janko, Nataša, Marko, i koliko je osoba uzelo bar jednu šljivu.
Uputstvo: Nema petlji — zadatak se može rešiti analizom slučajeva (N = 0–4, 5–7, 8–10, …) i grananjem: proveri koliko „kompleta“ (2+3) može da se uzme, pa obradi ostatak.
Test primer 1:
Ulaz:
4
Izlaz:
0 0 4 1
Test primer 2:
Ulaz:
10
Izlaz:
4 6 0 2
Zadatak 19 — Fudbalska grupa (tabela)
Opis: Četiri tima (A, B, C, D) igraju 6 međusobnih utakmica. Za svaku utakmicu se učitava rezultat. Potrebno je izračunati poene i gol-razliku svakog tima.
Ulaz: 6 rezultata utakmica: AB, CD, AC, BD, AD, BC. Svaki rezultat je par brojeva: golovi prvog tima, pa drugog.
Izlaz: Za A, B, C i D redom — broj poena i gol-razlika.
Uputstvo: Za svaki meč: pobeda = 3 poena, nerešeno = 1 poen, poraz = 0. Takođe saberi datu i primljenu količinu golova da bi dobio gol-razliku (dati − primljeni) za svaki tim.
Test primer 1:
Ulaz:
2 1
0 0
1 1
3 0
0 2
2 2
Izlaz (format: poeni gol-razlika za A B C D):
5 0 1 -2 3 0 2 2
Zadatak 4 — Da li tri dužine formiraju trougao?
Ulaz: Tri broja a, b, c.
Zadatak: Proveri da li važi: a + b > c, a + c > b, b + c > a. Ako sve važi → ispisati “DA”, inače “NE”.
Uputstvo: Koristi kombinaciju logičkih operatora i više uslova (sve tri nejednakosti moraju biti istinite).
Test primer 1:
Ulaz:
3 4 5
Izlaz:
DA
Test primer 2:
Ulaz:
2 2 5
Izlaz:
NE
Zadatak 5 — Dominantna RGB komponenta
Ulaz: Tri broja R, G, B (0–255).
Zadatak: Odredi koja komponenta je najveća. Ako je više njih najveće — ispiši obe ili sve tri.
Uputstvo: Obradi sva tri slučaja: (1) sve različito, (2) dve jednake najveće, (3) sve tri jednake.
Test primer 1:
Ulaz:
120 200 80
Izlaz:
Zelena
Test primer 2:
Ulaz:
255 255 100
Izlaz:
Crvena i Zelena
Za više zadataka poseti: Kvalifikacije za okružna takmičenja — zadaci

