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:

i = 0
while i <=95:
    print(i)
    i = i + 5

Obratite pažnju na to kako kontrolišemo korak u while petlji.

Pokušajte ostale sami i pošaljite mi ih. U petom će vam prvo trebati jedna promenljiva n u kojoj ćete prvo sačuvati krajnju vrednost niza koju ćete omogućiti korisniku prvo da je unese uz pomoć input, pa tek onda ispisujete vrednosti. Šesti i sedmi su lagani. Osmi je malo teži, pokušajte, ali ćemo ga najverovatnije uraditi zajednički, ali ako neko uspe, odlično! Deveti i deseti nisu toliko teški, pokušajte da se snađete. Srećno i pošaljite vaša rešenja da vidim kako vam ide!

Rešenja starih zadataka koje ste trebali sami da radite:

1.
broj1 = float(input("Unesi prvi realan broj: "))
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)

2.
a = int(input("Unesi a: "))
b = int(input("Unesi b: "))
c = int(input("Unesi c: "))
x = b*b - 4*a*c
print("Rezultat je: ", x)

4.
rec = input("Unesite reč čija slova ćemo prebrojavati:")
duzina = len(rec)
print("Reč ", rec, " ima ", duzina, " slova.")

6.
CenaSveske = float(input("Unesi cenu jedne sveske: "))
CenaOlovke = float(input("Unesi cenu jedne olovke: "))
racun = CenaSveske*3 + CenaOlovke*5
print("Simo, tvoj račun iznosi: ", racun)

9.
prvibroj = int(input("Unesi prvi ceo broj različit od nule: "))
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

Popularne objave