PETLJA - NAREDBA ZA PONAVLJANJE (for) prof. A Slavicek PETLJA S LOGIČKIM UVJETOM (while) ---------------------------------------------------------------- Primjer 1. >>> for i in range(7): print(i) # Program ispisuje brojeve od 0 do 7. Naredbu oblika: "for i in range(7):" zovemo petlja. Varijablu "i" nazivamo kontrolna varijabla petlje ili brojač petlje. Nakon dvotočke (:) Python će naredbe izvršavati "unutar petlje", pa će uvući početak reda za četiri znaka. Unutar petlje izvršava se samo naredba "print(i)". ----------------------- Primjer 2. Ispiši brojeve od 1 do 50 u istom redu. >>> for i in range(50): print(i,end=' ') #"end=' '" - omogućava ispis u istom redu ----------------------- Primjer 3. Napiši program koji će upisati prirodni broj n i ispisati prirodne brojeve od 1 do n, uključujući i n. ----- >>> n=int(input(' ')) 10 >>> for i in range(n): print(i, end = ' ') 0 1 2 3 4 5 6 7 8 9 ----- # Ispisao je od 0 do 9, a treba od 1 do 10. >>> n=int(input('n= ')) n= 10 >>> for i in range(1,n+1): print(i, end = ' ') 1 2 3 4 5 6 7 8 9 10 >>> ----------------------- Zadatak 1. Napiši program koji će ispisivati sve dvoznamenkaste brojeve. #(range(10,100)) ---------- Zadatak 2. Napiši program koji će zbrojiti prvih n prirodnih brojeva. Algoritam: ulaz(n) zbroj=0 za i=1 do n+1: zbroj=zbroj+i izlaz(zbroj) #(Program upiši u uređivački dio sučelja IDLE) ---------- Zadatak 3. Napiši program koji će ispisati brojeve od 10 do 50, a pri svakom prolazu 'i' će se povećati za 3. Rj. >>> for i in range (10,50,3): #PETLJA S KORAKOM print(i,end=' ') ---------- Zadatak 4. Napiši program koji će ispisati brojeve od 100 do 200, a pri svakom prolazu 'i' će se povećati za 5. ---------- Zadatak 5. Napiši program koji će ispisati brojeve od 100 do 0, a pri svakom prolazu 'i' će se smanjiti za 5. ---------- ######################################### PETLJA S LOGIČKIM UVJETOM (while) Ukoliko ne znamo unaprijed koliko puta će se ponoviti naredba unutar petlje koristiti ćemo naredbu 'while'. ------------------------------- Zadatak 6. Napiši program koji će pogoditi zadani broj i ispisati na kraju broj pokusaja. Rj. x=3 y=int(input('Unesi broj ')) broj_pokusaja=0 while x!=y: y=int(input('Unesi broj ')) broj_pokusaja +=1 #isto što i 'broj_pokusaja=broj_pokusaja+1' print('Bravo, pogodio si!') print('Iskoristio si ',broj_pokusaja,'pokusaja') ---------- Zadatak 7. Napiši program koji broji koliko se puta trebala baciti kocka dok se nije dobio broj šest. Algoritam: ulaz(x) pokusaj=1 dok je x različito 6 ulaz(x) pokusaj=pokusaj+1 izlaz(broj pokusaja) ---------- Zadatak 8. # Odredi aritmetičku sredinu za unesenih 'n' duljina. zbroj_duljina=0 n=int(input('Broj mjerenih duljina = ')) for i in range (n): l=float(input('Unesi duljinu ')) zbroj_duljina +=l arit_sred=zbroj_duljina/n print('aritmetička sredina iznosi =',round(arit_sred,3)) ---------- Zadatak 9. # Odredi aritmetičku sredinu za unesenih 'n' duljina i ispiši unesene duljine. zbroj_duljina=0 sve_d=[] # otvaranje prazne liste # lista predstavlja listu elemenata, odvojenih zarezima, # a okruženu uglatim zagradama, npr.: Lista=[10,100,50,5] # ili L2=['teodolit', 'nivelir', 'totalna stanica'] n=int(input('Broj mjerenih duljina = ')) for i in range (n): l=float(input('Unesi duljinu ')) sve_d.append(l) # dodajemo u praznu listu duljine zbroj_duljina +=l arit_sred=zbroj_duljina/n print('aritmetička sredina iznosi =',round(arit_sred,3)) print('Unesene su sljedeće duljine',sve_d) ---------- ------------------------------- Copyright prof. A Slavicek