Python input() — kako unositi podatke
U ovoj lekciji naučićeš kako Python prima podatke od korisnika pomoću funkcije input(). Ovo je jedna od najvažnijih funkcija za početnike — omogućava interakciju korisnika i programa.
1. Kako radi input()?
Funkcija input() zaustavlja program, čeka da korisnik nešto otkuca i pritisne Enter.
Rezultat koji korisnik unese se čuva u promenljivoj.
ime = input("Kako se zoveš? ")
print("Zdravo,", ime)
Uneseni tekst se čuva kao string.
2. Sve što korisnik unese je string
Važno: input() UVEK vraća string.
Čak i ako korisnik unese broj, Python ga vidi kao tekst.
godine = input("Koliko imaš godina? ")
print(godine + 1) # greška! string + broj
Zato brojeve moramo ručno pretvoriti iz stringa u broj.
3. Pretvaranje unosa u broj
Za ceo broj koristi se int(), a za decimalni float().
godine = int(input("Koliko imaš godina? "))
print(godine + 1)
temperatura = float(input("Unesi temperaturu: "))
print("Za 10 minuta temperatura će biti:", temperatura + 0.5)
4. Primeri
Unos imena
ime = input("Unesi ime: ")
print("Zdravo,", ime)
Unos godina
godine = int(input("Koliko imaš godina? "))
print("Za godinu dana imaćeš:", godine + 1)
Unos dva broja i sabiranje
a = float(input("Prvi broj: "))
b = float(input("Drugi broj: "))
zbir = a + b
print("Zbir je:", zbir)
5. Mini zadaci
- Napiši program koji pita korisnika za ime i prezime i ispisuje poruku dobrodošlice.
- Napiši program koji pita za godinu rođenja i ispisuje koliko korisnik ima godina.
- Napiši program koji unosi tri broja i ispisuje njihov zbir.
Čestitam! Sada znaš da koristiš input() i da pretvaraš unos u brojeve — što je osnova za prave male programe.
Mini Python igrica — Popuni kod
Vežbaj osnovni Python kod popunjavanjem praznih mesta. Ova igrica je pre učenja selekcije (if) i služi za učenje promenljivih, sabiranja i ispisa.
Igrica 1: Prikaz imena
Popuni prazno mesto tako da se ispiše ime korisnika:
ime = "Ana"
print(______)
Igrica 2: Sabiranje brojeva
Popuni prazno mesto tako da se ispiše zbir a i b:
a = 5
b = 3
print(______) # treba da prikaže 8
6. Napredniji primeri sa input()
Sada ćemo videti kako unos korisnika možemo koristiti u konkretnijim problemima. U ovim primerima kombinujemo int, float i string unose i osnovne proračune.
Primer 1: Računanje prosečne ocene (int)
# Unos ocena
ocena1 = int(input("Unesi prvu ocenu: "))
ocena2 = int(input("Unesi drugu ocenu: "))
ocena3 = int(input("Unesi treću ocenu: "))
# Računanje proseka
prosek = (ocena1 + ocena2 + ocena3) / 3
print("Prosek je:", prosek)
Ovde vidimo da unosimo cifre i koristimo ih za izračunavanje proseka.
Bez int(), sabiranje ne bi radilo kako očekujemo.
Primer 2: Pretvaranje novca (float)
# Unos iznosa u evrima
eur = float(input("Unesi iznos u evrima: "))
kurs = 117.5
# Pretvaranje u dinare
din = eur * kurs
print(eur, "EUR je", din, "dinara")
Koristimo float() jer novac može biti decimalan broj.
Primer 3: Kreiranje jednostavne poruke (string)
ime = input("Unesi ime: ")
grad = input("Unesi grad: ")
poruka = f"Zdravo {ime}! Kako je u gradu {grad}?"
print(poruka)
Ovde kombinujemo dva string unosa i formiramo poruku koristeći f-string.
7. Zadaci za vežbu
Isprobaj svoje znanje sa ovim zadacima. Prvi tri imaju primer rešenja, a sledeća četiri su za samostalan rad.
Zadaci sa rešenjem
-
Računanje obima pravougaonika (int)
# Unos dužina stranica a = int(input("Unesi dužinu stranice a: ")) b = int(input("Unesi dužinu stranice b: ")) # Obim pravougaonika obim = 2 * (a + b) print("Obim pravougaonika je:", obim) -
Računanje potrošnje goriva (float)
# Unos pređene distance i potrošnje po kilometru km = float(input("Unesi pređenu kilometražu: ")) potrosnja_po_km = float(input("Unesi potrošnju po kilometru (l/km): ")) # Ukupna potrošnja ukupno = km * potrosnja_po_km print("Ukupna potrošnja goriva je:", ukupno, "litara") -
Formiranje korisničkog pozdrava (string)
ime = input("Unesi ime: ") prezime = input("Unesi prezime: ") poruka = "Zdravo, " + ime + " " + prezime + "!" print(poruka)
Zadaci za samostalan rad
- Napiši program koji pita korisnika za tri broja i ispisuje njihov proizvod.
- Napiši program koji pita korisnika za visinu i osnovu trougla i računa površinu.
- Napiši program koji pita korisnika za ime i godinu rođenja, a zatim ispisuje poruku koliko ima godina.
- Napiši program koji pita korisnika za naziv proizvoda i cenu, a zatim ispisuje poruku: "Proizvod X košta Y dinara".
Sada si spreman da kombinuješ unos podataka sa matematičkim i tekstualnim operacijama. Vežbaj ove zadatke i pokušaj da ih rešiš samostalno!
8. Bonus izazovi: kombinovanje int, float i string unosa
Ovi zadaci su malo zahtevniji jer kombinuju različite tipove podataka i više koraka proračuna. Odlični su za vežbanje logike i kontrole unosa.
Primer 1: Računanje popusta na kupovinu
# Unos imena korisnika i cene proizvoda
ime = input("Unesi svoje ime: ")
cena = float(input("Unesi cenu proizvoda: "))
popust = int(input("Unesi popust u procentima: "))
# Izračunavanje cene nakon popusta
cena_sa_popustom = cena * (1 - popust / 100)
print(f"{ime}, cena nakon popusta je: {cena_sa_popustom:.2f} dinara")
Ovde koristimo string za ime, float za cenu i int za procenat popusta.
Primenjujemo formulu za popust i formatiramo rezultat sa dve decimale.
Primer 2: Provera visine i kategorizacija
ime = input("Unesi ime: ")
visina = float(input("Unesi visinu u cm: "))
if visina < 150:
kategorija = "niska"
elif visina <= 180:
kategorija = "srednja"
else:
kategorija = "visoka"
print(f"{ime}, tvoja visina je {visina} cm i spadaš u kategoriju: {kategorija}.")
Kombinujemo string i float unose i koristimo if-elif-else strukturu za kategorizaciju.
Primer 3: Jednostavan kalkulator
print("Jednostavan kalkulator")
broj1 = float(input("Unesi prvi broj: "))
broj2 = float(input("Unesi drugi broj: "))
operacija = input("Izaberi operaciju (+, -, *, /): ")
if operacija == "+":
rezultat = broj1 + broj2
elif operacija == "-":
rezultat = broj1 - broj2
elif operacija == "*":
rezultat = broj1 * broj2
elif operacija == "/":
if broj2 != 0:
rezultat = broj1 / broj2
else:
rezultat = "Greška: deljenje sa nulom!"
else:
rezultat = "Nepoznata operacija"
print("Rezultat:", rezultat)
Ovaj primer kombinuje dva float unosa i string unos za izbor operacije.
Daje dobar uvid u kontrolu toka programa i rad sa različitim tipovima podataka.
Bonus zadaci za samostalan rad
- Napiši program koji pita korisnika za ime, broj sati rada i cenu po satu, a zatim ispisuje platu.
- Napiši program koji unosi ime učenika i tri ocene, računa prosečnu ocenu i ispisuje poruku sa imenom i prosekom.
- Napiši program koji pita korisnika za naziv proizvoda, količinu i cenu po komadu, a zatim ispisuje ukupnu cenu.
- Napiši program koji pita korisnika za ime i godinu rođenja, a zatim ispisuje poruku da li je punoletan ili maloletan.
Ovi zadaci su odlična vežba za primenu svega što smo naučili o input(), konverziji tipova i radu sa različitim vrednostima u Python-u.
Skriveni mini kviz — Funkcija input() i konverzija tipova
Klikni da proveriš svoje znanje o unosu podataka i radu sa tipovima u Python-u!
Otvori kviz
Mini kviz: Da li si savladao lekciju?
1. Koji tip podataka vraća funkcija input()?
2. Šta će biti rezultat sledećeg koda?
x = 7
y = "2"
print(x + int(y))
3. Koja linija ispravno kombinuje string i broj u poruci koristeći f-string?
4. Koja funkcija se koristi za pretvaranje stringa u decimalni broj?
5. Šta će program uraditi?
ime = input("Unesi ime: ")
print("Zdravo,", ime)
6. Koja naredba ispravno sabira dva broja unesena preko input?

