For petlja

Ova vrsta petlje vrši iteracije na osnovu vrednosti koje uzima iz listа (nizovа), stringovа i rečnikа. Ovaj način iteracije čini for petlju pogodnijom za onaj deo koda koji želimo da se dogodi određen broj puta. Pogledajmo sada ovaj jednostavan primer.

  
niz= [1, 3, 5, 7]

for x in niz:
    print (x),
            
Kopiraj

Kao što bismo mogli da očekujemo izlaz ovog programa je >> 1 3 5 7. Pre ulaska u prvu iteraciju for petlja proverava postojanje prvog elementa u promenljivoj niz i ukoliko on postoji, dodeljuje promenljivoj x vrednost tog prvog elementa. U drugom krugu proverava postojanje drugog člana niza i dodeljuje x-u njegovu vrednost. Ovaj proces se nastavlja sve dok ima elemenata u listi, nakon čega se izlazi iz petlje.

Uporedimo sada dva programa sa istim ishodom, od kojih jedan koristi while a drugi for petlju. Koristimo pomoćnu range() funkciju koja kreira privremenu listu prirodnih brojeva u opsegu od 0 do prosleđene vrednosti umanjene za 1

  
broj = 1
while broj <= 100:
    if broj%5==0:
        print (broj),
    broj = broj +1
				
Kopiraj
  
				
for broj in range(100): 
    if (broj+1)%5==0: 
        print (broj+1),

				
Kopiraj

Izlaz oba programa je isti >> 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 Može se primetiti da je while verzija petlje duža dva reda, ali je lakša za čitanje. Specifični zahtev je taj koji čini ovu for petlju manje čitljivom. Kada bismo dozvolili ispisivanje nule kao broja deljivog sa 5, onda bismo mogli da uklonimo pomeraj promenljive „broj“ za 1. Međutim onda bi nam se javio drugi problem gde nam se ne bi ispisao broj 100, jer range() funkcija ne uzima graničnu vrednost. Najbolje poboljšanje koda bi bilo proširivanje range() funkcije za dodatni parametar koji označava početnu vrednost.

  
for broj in range(1,101): 
    if broj%5==0: 
        print (broj),

            
Kopiraj

Treba obratiti pažnju i na čitljivost koda, jer u svakom programu ima mesta za unapredjenje, a čitljivost olakšava kasnije ispravke.

Zadatak : Koristeći treći argument funkcije range() napraviti program koji ispisuje prvih 100 brojeva deljivih sa 7, bez korišćenja if naredbe.


levo desno

Uputstvo

Neke od programa nećete moći da pokrenete na našoj konzoli, zato Vam predlažemo da sa zvaničnog sajta www.python.org preuzmete portabilnu verziju. Instalacija je vrlo jednostavna. Mi Vam predažemo da odaberete verziju 3.3.5 koju smo i mi koristili. Tekstualni editor u kome možete pisati svoje programe se pokreće preko programa koji se zove IDLE i automatski se instalira sa celim paketom. Novi program započinjete klikom na padajući meni "FILE" >> "NEW FILE". Možete ga pokrenuti pritiskom na dugme F5 na tastaturi.
Konzola koja se nalazi na sajtu omogućava rad sa većinom prezentovanog materijala, ali je naglašeno kada je potrebno preći na instaliranu konzolu.

;