Pređi na sadržaj

Vodič za Pajton 2.6/Brojanje do 10

Izvor: Викикњиге

While petlje

[uredi]

Ovde predstavljamo našu prvu kontrolnu strukturu. Obično računar počinje od prve linije, a zatim ide dole. Kontrolne strukture su promenile redosled da se izjava izvršava ili su odlučile da li će određena izjava biti pokrenuta. Ovde je izvor za program koji koristi while kontrolnu strukturu:

a = 0
while a < 10:
    a = a + 1
    print a

I ovde je izuzetno uzbudljiv izlaz:

1
2
3
4
5
6
7
8
9
10

A vi ste mislili da ne može biti gore nakon što smo računar pretvorili u kalkulator od 5$?

Pa šta program radi? Prvo gleda liniju a = 0 i postavlja a na nulu. Ztim vidi while a < 10: i onda računar proverava da li je a < 10. Prvi put kada računar vidi ovu izjavu a je nula i to je manje od deset. Drugim rečima sve dok je a manje od deset računar će pokrenuti bar tab u izjavama. Ovo vremenom pravi da a postane deset (dodavanjem jedinice na a iznova), i while a < 10 više nije tačno. Dostizanjem te tačke program se neće pokrenuti više duž tih linija.

Uvek imajte na umu da stavite sve tačke ":" posle "while" izjave!

Ovde je drugi primer korišćenja while:

a = 1
s = 0
print ('Унесите бројеве да додате у збир.')
print ('Унети 0 да би сте прекинули.')
while a != 0:
    print ('Тренутна сума:', s)
    a = input('Број? ')
    s = s + int(a)
print ('Укупан збир =', s)
 Унесите бројеве да додате у суму.
 Унети 0 да би сте прекинули.
 Тренутна сума: 0
 Број?  '200' 
 Тренутна сума: 200
 Број?  '-15.25' 
 Тренутна сума: 184.75
 Број?  '-151,85' 
 Тренутна сума: 32.9
 Број?  '10 .00  '
 Тренутна сума: 42.9
 Број?  '0' 
 Укупан збир = 42.9

Zapamtite sad print 'Укупан збир =', s je jedino pokrenut na kraju. while izjava samo utiče na linije koje su razuđene razmakom. != znači "nije jednako" pa "while a != 0:" znači: "dok je a nula, pokrenite izjave bed tab koje slede."

Beskonačne petlje

[uredi]

Sada kada imamo while petlje, moguće je imati programe koji će se stalno pokretati. Lakši način da ovo uradite je da napišete program ovako:

while 1 == 1:
   print "Помоћ, заглављен сам у петљи."

"==" operacija se koristi za testiranje jednakosti izraza dve strane operatora, samo kako je "<" korišćen za "manje od" pre (dobićete potpunu listu svih poređenja operatera u narednom poglavlju).

Ovaj program će izbaciti Помоћ, заглављен сам у петљи. do kraja univerzuma ili dok ga ne ugasite, zato što će 1 zauvek biti jednako 1. Način da ga zaustavite je da pritisnete Control (ili Ctrl) dugme i C (slovo) u isto vreme. Ovo će ubiti program. (Važno: nekad ćete morati da pritisnete enter posle Control-C.)

Primeri

[uredi]

Fibonači.py

# Овај програм рачуна Фибоначијев низ
a = 0
b = 1
бројање = 0
макс_бројање = 20
while бројање < макс_бројање:
    бројање = бројање + 1
    # морамо да пратимо линију са обзиром да смо је променили
    старо_a = a
    старо_b = b
    a = старо_b
    b = старо_a + старо_b
    # Приметите да се , на крају изјаве за штампање задржава
    # од одласка у други ред
    print(старо_a),

Izlaz:

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181

Primetite da je izlaz na svakoj liniji korišćenjem zareza na kraju print izjave.

Šifra.py

# Чека све док се чифра не унесе.  Користите Control-C да уђете без
# коришћења шифре

# Имајте на уму да то не сме бити лозинка таква да
# док петља ради најмање једном.
шифра = "нема шифре"

# запамтите != значи није једнако
while шифра != "једнорог":
    шифра = raw_input("Шифра: ")
print "Добродошли"

Primer niza:

Шифра: ауо
Шифра: и22
Шифра: шифра
Шифра: отвори се сезаме
Шифра: једнорог
Добродошли

Vežbe

[uredi]

Napišite program koji pita korisnika za korisničko ime i šifru. Zatim kada otkucaju "otključaj", treba da ukucaju njihovo ime i šifru da bi ušli u program. Otkrivena je petlja šablona: Šablon:Rešenje

Šablon:Vodič za Pajton 2.6/Navigation