вхиле петља у Пајтону. Како то функционише, примери употребе

Петље су један од главних алата сваког језика. У Питхон-у постоје две основне петље, од којих је једна вхиле. Размотрите то, а такође за боље разумевање слике, још један. Заиста, у поређењу са нечим сличним, много је лакше разумети било који материјал, зар не?

Концепт циклуса

Петља је потребна када се одређена радња мора извршити више пута. Ово је веома поједностављено, јер је у стварности опсег примене циклуса много шири. Постоје две главне врсте петљи у Питхон-у: фор и вхиле. Најпопуларнији је за.

Поред специфичних радњи, можете петљати различите делове кода до одређене тачке. Ово може бити одређени број пута или све док је одређени услов истинит.

Пре него што почнемо да разумемо типове петљи и док, посебно, још увек морамо да разумемо шта је итерација. Ово је једно понављање радње или низа радњи током тренутног циклуса у оквиру тренутног покретања апликације.

Цицле Фор

Наша Фор петља није бројач, као у многим другим језицима. Његов задатак је да наброји одређени низ вредности. Шта ово значи? Рецимо да имамо листу елемената. Прво, петља узима прву, другу, трећу и тако даље.

Предност ове петље у Питхон-у је у томе што не морате да одредите индекс елемента да бисте знали када да изађете из петље. Све ће бити урађено аутоматски.

>>> список = [10, 40, 20, 30]

>>> за елемент у списоку:

… штампа (елемент + 2)

...

12

42

22

32

У нашем примеру користили смо променљиву елемент после команде за. Генерално, име може бити било шта. На пример, популарна ознака је и. И са сваком итерацијом, овој променљивој ће бити додељен одређени објекат са листе, који смо назвали одговарајућом речју.

У нашем случају, листа је низ бројева 10,40,20,30. На свакој итерацији, одговарајућа вредност се појављује у променљивој. На пример, чим започне петља, променљива елемент додељена је вредност 10. На следећој итерацији, десетица се претвара у број 40, трећи пут се претвара у број 20, и коначно, на последњој итерацији петље, претвара се у 30.

Сигнал за крај циклуса је крај елемената у листи.

Ако вам је потребна петља да извршите класично набрајање вредности, као у другим програмским језицима, требало би да направите листу са низом природних бројева до вредности која нам је потребна.

>>> список = [1,2,3,4,5]

Или користите функцију лен(), да одреди дужину листе. Али у овом случају је боље користити петљу док, јер нема потребе да се користи променљива.

Ако треба да промените редослед вредности на листи, поновите петљу за и ту долази у помоћ. Да бисте то урадили, при свакој итерацији, сваком елементу листе мора бити додељена одговарајућа вредност.

Док петља

За разлику од циклуса за, који једноставно итерира преко вредности низа, петље док има више употребе. Назив ове врсте циклуса је преведен као „још“. Односно, "до".

Ово је универзална петља која се налази у свим програмским језицима. И на неки начин подсећа на условни оператор тиса, који врши проверу да ли је испуњен одређени услов. Само за разлику од условног оператора, док врши проверу на свакој итерацији, а не само једном. И само ако је услов нетачан, петља се завршава и команда која је следи се извршава. Једноставним речима, ако ситуација у којој ради више не важи.

Ако нацртамо циклус док поједностављено, ово се ради помоћу такве шеме.вхиле петља у Пајтону. Како то функционише, примери употребе

Главна грана програма (која се покреће изван петље) је приказана на овој слици са плавим правоугаоницима. Тиркизна представља тело циклуса. Заузврат, ромб је услов који се проверава на свакој итерацији.

Циклус док може довести до два изузетка:

  1. Ако на почетку петље логички израз не врати труе, онда једноставно не почиње, након што је завршен пре извршења. Генерално, ова ситуација је нормална, јер под одређеним околностима апликација можда неће обезбедити присуство израза у телу петље.
  2. Ако је израз увек тачан, то може довести до петље. Односно, до бесконачног померања циклуса. Стога, у таквим програмима увек треба да постоји излазна изјава из петље или програма. Међутим, ова ситуација ће настати ако је програм био у стању да утврди истинитост или нетачност одређеног стања. Ако она то не уради, онда се враћа грешка са прекидом програма. Или можете да решите грешку, а затим, ако се догоди, одређени код ће бити извршен.

Може постојати велики број опција како да решите грешку. На пример, програм може тражити од корисника да исправно унесе податке. Дакле, ако је особа назначила негативан број где може бити само позитиван, или унела слова где би требало да буду само бројеви, програм може да каже о томе.

Док петља Примери

Ево примера кода који обрађује грешку у овом случају.

н = инпут(“Унесите цео број: “) 

док тип(н) != инт:

    три:

        н = инт(н)

    осим ВалуеЕррор:

        принт („Погрешан унос!“)

        н = инпут(“Унесите цео број: “) 

ако је н % 2 == 0:

    штампа („Чак“)

друго:

    принт („Непаран“)

Имајте на уму да Питхон користи двотачке за декларисање сложених конструкција кода.

У коду изнад дефинисали смо као услов да треба да проверимо да ли је број цео број. Ако јесте, онда се враћа фалсе. Ако не, онда је истина.

У другом делу кода, где се користи оператор if, користили смо % оператор да пронађемо остатак након операције дељења. Следећи корак је да проверите да ли је број паран. Ако није, онда је остатак у овом случају један. Сходно томе, број је непаран. 

Једноставно речено, горњи код прво проверава да ли је низ који је унео корисник број. Ако јесте, онда се врши друга провера да се види да ли постоји остатак дељења са два. Али други блок неће бити извршен све док вредност коју је унео корисник није нумеричка.

То јест, петља ће се редовно извршавати све док се не догоди услов. У овој ситуацији то функционише овако. 

То јест, можете ићи од супротног: петљајте одређену акцију док догађај не постане лажан.

Парсинг кода

Сада да видимо детаљније како овај код функционише. Да бисмо то урадили, анализираћемо га корак по корак.

  1. Прво, корисник уноси стринг, који прихвата променљива н. 
  2. Коришћење петље док проверава се тип ове променљиве. На првом уносу није једнако инт. Стога, као резултат теста, утврђено је да је овај услов тачан. Стога се уноси тело петље.
  3. Уз помоћ оператера покушати покушавамо да конвертујемо стринг у број. Ако се ово уради, онда се грешка не јавља. Сходно томе, нема потребе да се обрађује. Стога се тумач враћа на почетак петље, а према резултатима провере испоставља се да је постао цео број. Дакле, идемо на корак 7
  4. Ако је конверзија била неуспешна, онда се приказује ВалуеЕррор. У овом случају, ток програма се шаље руковаоцу осим.
  5. Корисник уноси нову вредност, која се додељује променљивој н.
  6. Преводилац се враћа на корак 2 и поново проверава. Ако је вредност целог броја, идите на корак 7. Ако није, поново се покушава конверзија према кораку 3.
  7. Уз помоћ оператера if Одређује да ли постоји остатак након дељења броја са 2. 
  8. Ако није, враћа се текст „чак“.
  9. Ако није, враћа се текст „непаран“.

Размотрите сада такав пример. Покушајте да одредите колико пута ће овај циклус проћи?

укупно = 100 

И = КСНУМКС

док сам < 5:

    н = инт(инпут())

    укупно = укупно — н

    и = и + 1 

принт(„Преостало“, укупно)

Тачан одговор је 5. У почетку, вредност променљиве i - нула. Интерпретатор проверава да ли је променљива једнака i 4 или мање. Ако јесте, онда се вредност враћа. прави, и петља се извршава у складу са тим. Вредност се повећава за један.

После прве итерације, вредност променљиве постаје 1. Извршава се провера и програм разуме да је овај број поново мањи од 5. Сходно томе, тело петље се извршава по други пут. Пошто су кораци слични, вредност се такође повећава за један, а променљива је сада једнака 2.

Ова вредност је такође мања од пет. Затим се петља извршава трећи пут, додаје се променљивој i 1 и додељује му се вредност 3. Ово је опет мање од пет. И тако долази до шесте итерације петље, на којој се вредност променљиве i једнако 5 (на крају крајева, првобитно је била нула, колико се сећамо). Сходно томе, овај услов не пролази тест, а петља се аутоматски прекида и врши се прелазак на следећи корак који је ван њега (или завршетак програма, ако следећи кораци нису предвиђени).

Циклус се може десити и у супротном смеру. Ево примера кода где се, са сваком следећом итерацијом, један одузима од тренутне вредности променљиве. 

укупно = 100 

док је укупно > 0:

    н = инт(инпут())

    укупно = укупно — н 

принт(„Ресурси су исцрпљени“)

Покушајте да погодите шта овај програм ради! Замислите то у променљивој укупан информације о програмском ресурсу се чувају. Сваки пут тумач проверава да ли ресурс постоји. Ако није, онда се приказује текст „Ресоурце екхаустед“ и програм се затвара. И са сваком итерацијом петље, ресурс се смањује за број који корисник одреди.

А сада домаћи задатак. Покушајте да промените горњи код тако да променљива не може физички да постане негативна. 

Komentari

  1. си код ахаан усоо гудби

  2. Здраво

  3. Д

Ostavite komentar