Водич за Пајтон 2.6/Бројање до 10
While петље
уредиОвде представљамо нашу прву контролну структуру. Обично рачунар почиње од прве линије, а затим иде доле. Контролне структуре су промениле редослед да се изјава извршава или су одлучиле да ли ће одређена изјава бити покренута. Овде је извор за програм који користи while
контролну структуру:
a = 0
while a < 10:
a = a + 1
print a
И овде је изузетно узбудљив излаз:
1 2 3 4 5 6 7 8 9 10
А ви сте мислили да не може бити горе након што смо рачунар претворили у калкулатор од 5$?
Па шта програм ради? Прво гледа линију a = 0
и поставља a
на нулу. Зтим види while a < 10:
и онда рачунар проверава да ли је a < 10
. Први пут када рачунар види ову изјаву a
је нула и то је мање од десет. Другим речима све док је a
мање од десет рачунар ће покренути бар таб у изјавама. Ово временом прави да a
постане десет (додавањем јединице на a
изнова), и while a < 10
више није тачно. Достизањем те тачке програм се неће покренути више дуж тих линија.
Увек имајте на уму да ставите све тачке ":" после "while" изјаве!
Овде је други пример коришћења 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
Запамтите сад print 'Укупан збир =', s
је једино покренут на крају. while
изјава само утиче на линије које су разуђене размаком. !=
значи "није једнако" па "while a != 0:"
значи: "док је a
нула, покрените изјаве бед таб које следе."
Бесконачне петље
уредиСада када имамо while петље, могуће је имати програме који ће се стално покретати. Лакши начин да ово урадите је да напишете програм овако:
while 1 == 1:
print "Помоћ, заглављен сам у петљи."
"==" операција се користи за тестирање једнакости израза две стране оператора, само како је "<" коришћен за "мање од" пре (добићете потпуну листу свих поређења оператера у наредном поглављу).
Овај програм ће избацити Помоћ, заглављен сам у петљи.
до краја универзума или док га не угасите, зато што ће 1 заувек бити једнако 1. Начин да га зауставите је да притиснете Control (или Ctrl) дугме и C (слово) у исто време. Ово ће убити програм. (Важно: некад ћете морати да притиснете enter после Control-C.)
Примери
уредиФибоначи.py
# Овај програм рачуна Фибоначијев низ
a = 0
b = 1
бројање = 0
макс_бројање = 20
while бројање < макс_бројање:
бројање = бројање + 1
# морамо да пратимо линију са обзиром да смо је променили
старо_a = a
старо_b = b
a = старо_b
b = старо_a + старо_b
# Приметите да се , на крају изјаве за штампање задржава
# од одласка у други ред
print(старо_a),
Излаз:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
Приметите да је излаз на свакој линији коришћењем зареза на крају print
изјаве.
Шифра.py
# Чека све док се чифра не унесе. Користите Control-C да уђете без
# коришћења шифре
# Имајте на уму да то не сме бити лозинка таква да
# док петља ради најмање једном.
шифра = "нема шифре"
# запамтите != значи није једнако
while шифра != "једнорог":
шифра = raw_input("Шифра: ")
print "Добродошли"
Пример низа:
Шифра: ауо Шифра: и22 Шифра: шифра Шифра: отвори се сезаме Шифра: једнорог Добродошли
Вежбе
уредиНапишите програм који пита корисника за корисничко име и шифру. Затим када откуцају "откључај", треба да укуцају њихово име и шифру да би ушли у програм. Откривена је петља шаблона: Шаблон:Решење