Lekcija 5: Python Ulaz i Izlaz
Lekcija 5: Python Ulaz i Izlaz – Komunikacija sa vašim programom
Čestitam što ste stigli do pete lekcije! Sada kada smo savladali tipove podataka, promenljive i operatore, spremni smo da naučimo kako naš program može da komunicira sa spoljnim svetom. To podrazumeva prikazivanje informacija korisniku (izlaz) i prihvatanje informacija od korisnika (ulaz).
U Pythonu, za ovo koristimo dve osnovne funkcije: print() za izlaz i input() za ulaz.
1. Ispisivanje informacija: Funkcija print()
Funkcija print() je verovatno prva funkcija koju svaki programer nauči. Njena svrha je jednostavna: prikazuje tekst ili vrednosti promenljivih na ekranu (u terminalu).
Kako se koristi print()?
Samo stavite ono što želite da ispišete unutar zagrada (). Ako ispisujete tekst (string), obavezno ga stavite unutar navodnika (jednostrukih ‘ ‘ ili dvostrukih “ „).
Primeri sa print():
# Ispisivanje jednostavnog teksta (stringa)
print(„Zdravo, svete!“)
print(‘Danas je lep dan.’)
# Ispisivanje brojeva
print(123)
print(3.14)
# Ispisivanje vrednosti promenljivih
ime = „Python“
verzija = 3.9
print(„Učim programski jezik:“, ime)
print(„Koristim verziju:“, verzija)
# Kombinovanje teksta i promenljivih (koristeći zarez ili f-string)
# Korišćenje zareza automatski dodaje razmak između delova
print(„Moje ime je“, ime, „i imam“, 5, „godina iskustva.“)
# Korišćenje f-stringa (formatirani string literali) – preporučeno za moderni Python
# Ovo je često najlakši način za kombinovanje teksta i promenljivih
poruka = „Zabavno je učiti Python!“
broj_lekcija = 5
print(f“Ovo je {poruka} i stigli smo do lekcije broj {broj_lekcija}.“)
# Ispisivanje više stvari u jednom printu sa zarezom
print(„Broj:“, 10, „Tekst:“, „Primer“, „Logička vrednost:“, True)
Kada pokrenete gornji kod, videćete svaki print() iskaz na posebnoj liniji.
2. Prihvatanje unosa: Funkcija input()
Funkcija input() omogućava vašem programu da pita korisnika za informacije i da te informacije primi. Kada Python naiđe na input() funkciju, program će zastati i čekati da korisnik nešto ukuca i pritisne Enter.
Kako se koristi input()?
input() funkcija prihvata jedan opcioni argument: poruku (string) koja će biti prikazana korisniku pre nego što se očekuje unos. Vrednost koju korisnik unese se uvek vraća kao string (tekst), čak i ako korisnik unese broj.
Primeri sa input():
# Jednostavan input bez poruke (nije preporučeno za korisničko iskustvo)
# korisnicki_unos = input()
# print(„Uneli ste:“, korisnicki_unos)
# Input sa porukom koja objašnjava šta se očekuje
ime = input(„Unesite vaše ime: „)
print(f“Zdravo, {ime}! Drago mi je da te vidim.“)
# Važno: input() uvek vraća string!
omiljeni_broj_tekst = input(„Unesite vaš omiljeni broj: „)
print(f“Vaš omiljeni broj je: {omiljeni_broj_tekst}“)
print(f“Tip podataka omiljenog broja je: {type(omiljeni_broj_tekst)}“) # Prikazaće <class ‘str’>
Konverzija tipova podataka nakon input()
Pošto input() uvek vraća string, ako želite da radite sa unetim brojevima (npr. sabiranje, oduzimanje), morate ih konvertovati iz stringa u brojčani tip (integer ili float). Za to koristimo funkcije int() i float().
Primer konverzije tipova:
# Prihvatanje brojeva od korisnika i njihovo pretvaranje
broj_str1 = input(„Unesite prvi broj: „)
broj_str2 = input(„Unesite drugi broj: „)
# Pretvaranje stringova u cele brojeve (integere)
broj1 = int(broj_str1)
broj2 = int(broj_str2)
zbir = broj1 + broj2
proizvod = broj1 * broj2
print(f“Zbir unetih brojeva je: {zbir}“)
print(f“Proizvod unetih brojeva je: {proizvod}“)
# Primer sa decimalnim brojevima
cena_str = input(„Unesite cenu proizvoda (sa decimalama, npr. 15.99): „)
kolicina_str = input(„Unesite količinu: „)
cena = float(cena_str)
kolicina = int(kolicina_str)
ukupno = cena * kolicina
print(f“Ukupna cena je: {ukupno:.2f} RSD“) # .2f formatira na dve decimale
Kada budete pokrenuli ovaj kod, videćete da će se program zaustaviti i čekati da unesete vrednosti za „Unesite prvi broj:“ i „Unesite drugi broj:“.
Vaš prvi interaktivni program: Jednostavan kalkulator!
U Lekciji 3 smo već napravili mali kalkulator godina, a sada ćemo primeniti input() i print() da napravimo još jedan interaktivni program koji koristi aritmetičke operatore.
Ovaj program će primati dva broja od korisnika i prikazati njihov zbir, razliku, proizvod i količnik.
# Program: Jednostavan matematički kalkulator
print(„Dobrodošli u jednostavan kalkulator!“)
# Prvi broj
prvi_broj_str = input(„Molimo unesite prvi broj: „)
prvi_broj = float(prvi_broj_str) # Koristimo float da podržimo i cele i decimalne brojeve
# Drugi broj
drugi_broj_str = input(„Molimo unesite drugi broj: „)
drugi_broj = float(drugi_broj_str)
# Izračunavanje
zbir = prvi_broj + drugi_broj
razlika = prvi_broj – drugi_broj
proizvod = prvi_broj * drugi_broj
# Provera da li je drugi_broj nula pre deljenja, da bismo izbegli grešku deljenja sa nulom
if drugi_broj != 0:
kolicnik = prvi_broj / drugi_broj
print(f“\nRezultati operacija za {prvi_broj} i {drugi_broj}:“)
print(f“Zbir: {zbir}“)
print(f“Razlika: {razlika}“)
print(f“Proizvod: {proizvod}“)
print(f“Količnik: {kolicnik}“)
else:
print(„\nDeljenje sa nulom nije dozvoljeno!“)
print(f“Zbir: {zbir}“)
print(f“Razlika: {razlika}“)
print(f“Proizvod: {proizvod}“)
print(„\nHvala što ste koristili kalkulator!“)
Kako pokrenuti ovaj kod u VS Code-u:
- U VS Code-u, kreirajte novi fajl (npr. kalkulator.py) u svojoj radnoj fascikli.
- Kopirajte gornji kod i nalepite ga u taj fajl.
- Sačuvajte fajl (Ctrl+S ili Cmd+S).
- Kliknite desnim tasterom miša u prozoru sa kodom i izaberite „Run Python File in Terminal“.
- Program će se pokrenuti u terminalu, tražeći od vas da unesete brojeve.
Pitanja i odgovori (FAQ)
P: Koja je razlika između print(„10“) i print(10)?
O: print(„10“) ispisuje tekstualni string „10“. print(10) ispisuje numeričku vrednost 10. Iako izgledaju isto na ekranu, Python ih interno tretira drugačije. Prvi je tekst, drugi je broj.
P: Mogu li da koristim input() bez poruke?
O: Da, možete, ali nije preporučljivo za korisničko iskustvo. Program će jednostavno čekati na unos bez ikakvog objašnjenja za korisnika.
P: Zašto dobijam grešku „ValueError: invalid literal for int() with base 10“ kada koristim int(input())?
O: Ova greška se javlja kada pokušate da pretvorite tekst koji nije validan broj u integer. Na primer, ako korisnik unese „zdravo“ umesto broja, Python ne zna kako to da pretvori u int.
P: Šta je f-string?
O: f-string (ili formatirani string literal) je jednostavan način za ugrađivanje Python izraza unutar stringova. Počinje sa f ili F pre navodnika, a promenljive ili izrazi se stavljaju unutar vitičastih zagrada {}. To je moderan i preporučljiv način za formatiranje izlaza.
P: Da li input() može da prihvati više unosa odjednom?
O: Ne direktno. input() prihvata samo jednu liniju teksta po pozivu. Ako vam treba više unosa, moraćete pozvati input() više puta, ili koristiti naprednije tehnike koje ćemo učiti kasnije.
Relevantni linkovi
- W3Schools – Python Input and Output (engleski): w3schools.com/python/python_user_input.asp
- Real Python – Python Input and Output (engleski): realpython.com/python-input-output/
- Zvanična Python dokumentacija – Built-in Functions (print() i input()): docs.python.org/3/library/functions.html
Čestitamo! Sada ne samo da razumete kako Python obrađuje podatke, već možete i da komunicirate sa svojim programima, unoseći podatke i dobijajući rezultate. Ovo je ogroman korak u vašem programerskom putovanju! U sledećoj lekciji, preći ćemo na uslovne strukture (if, elif, else), koje će vašim programima omogućiti da donose pametne odluke.
Linkovi ka prethodnim lekcijama:
Lekcija 1: Uvod u Python – Šta je, čemu služi i gde se koristi
Lekcija 4: Operatori u Pythonu – aritmetički, logički i poređenje
Aktuelna lekcija:
Lekcija 5: Ulaz i Izlaz – Komunikacija sa vašim programom
(trenutna stranica –
Lekcija 6: Python Uslovne strukture – Donošenje odluka u kodu (if, elif, else)


