Zadaci iz petlji for i while i rešenja starih zadataka za samostalan rad
Zadaci sa sajta petlja.org. Možete ih i tamo rešavati ispod svakog zadatka pa iskopirati sebi rešenje.
1. Napisati program koji 30 puta ispisuje Ja vežbam Python.
Naredbe tj. petlje koje koristimo kada se nešto ponavlja su for i while. Zadatke ćemo raditi upotrebom obe petlje, na oba načina, da bismo ih bolje uvežbali. Prvo for. Ako nešto treba da se ponavlja 30 puta, pišemo:
for i in range (30):
u narednom redu, uz pomoć Tab, uvučeno pišemo naredbu koja treba da se ponavlja. U ovom slučaju je naredba za ispis na ekranu print i unutar zagrade pod navodnicima pišemo to što želimo da nam se ispiše:
print("Ja vežbam Python."). To će izgledati ovako:
Uz pomoć while petlje bismo isti program napisali na sledeći način:
i = 1
while i <= 30:
print ("Ja vežbam Python.")
i = i + 1
Uočimo još jednom bitne elemente petlje while. Uvek pre svega postavimo naš brojač i na početnu vrednost (1). Sve dok je naše i manje ili jednako sa 30, ispisivaće se Ja vežbam Python (naredba koja je unutar petlje jer je uvučena, koja se ponavlja) i unutar petlje uvek mora biti i ovaj deo i = i + 1 uz pomoću kojeg kontrolišemo da nam se i u svakom koraku povećava za 1. Isprobati programe i preći na naredni zadatak.
2. Napiši program koji ispisuje brojeve od 0 do 99.
Ovaj zadatak je sličan kao prethodni ali ćemo ispisivati upravo naše i.
Moramo samo primetiti jednu bitnu stvar kod petlje for koja koristi range(). Ovo range broji uvek od nule do prethodnika broja koji je u zagradi. Tako je u našem prethodnom zadatku i prolazilo kroz brojeve 0, 1, 2, 3... 27, 28, 29 i zaista se naredba izvršila 30 puta jer i ovih brojeva ima 30. Ali kod zadataka ovog tipa, kao u drugom, gde ćemo ispisivati baš i, moramo paziti da u zagradu ne upišemo 99 već baš zbog ovoga što smo malopre pomenuli moramo upisati 100, da bi i prošlo kroz brojeve 0, 1, 2... 98, 99. Zato ćemo program napisati ovako:
Kada isprobate, zaista ćete videti da je ispisao brojeve od 0 do 99.
Uz pomoć while petlje, to izgleda ovako:
Možda vam je ovo while preglednije i jasnije.
Treći pokušajte sami, slično je. Pažljivo sa vrednostima u range :)
4. Napiši broj koji ispisuje 0, 5, 10, 15, 20... 95, svaki broj u posebnom redu.
Šta ovde primećujemo? Da se ne ide redom već se svaki naredni broj uvećava za 5, kažemo: korak je 5. Zato u for petlji možemo da zadamo od kog do kog broja da se ispisuje (opet kraj veći), ali i sa kojim korakom, i u ovom primeru koristimo onda range (0, 100, 5). Zašto 100? Jer je to naredni veći broj za 5 od poslednjeg kojeg treba da ispišem. Zašto 5? Jer je to korak, svaki naredni je veći za toliko.
Ili kao while petlja:Rešenja starih zadataka koje ste trebali sami da radite:
broj2 = float(input("Unesi drugi realan broj: "))
zbir = broj1 + broj2
razlika = broj1 - broj2
print("Zbir ovih brojeva je: ", zbir)
print("Razlika ovih brojeva je: ", razlika)
b = int(input("Unesi b: "))
c = int(input("Unesi c: "))
x = b*b - 4*a*c
print("Rezultat je: ", x)
duzina = len(rec)
print("Reč ", rec, " ima ", duzina, " slova.")
CenaOlovke = float(input("Unesi cenu jedne olovke: "))
racun = CenaSveske*3 + CenaOlovke*5
print("Simo, tvoj račun iznosi: ", racun)
drugibroj = int(input("Unesi drugi ceo broj različit od nule: "))
if (prvibroj > 0 and drugibroj > 0) or (prvibroj<0 and drugibroj<0):
print("Istog su znaka.")
else:
print("Različitog su znaka.")
Comments
Post a Comment