⊗pyPmLpFl 162 of 208 menu

Работа с флагове в Python

Флаг - това е специална променлива, която може да приема само две стойности: True или False. С помощта на флагове могат да се решават задачи, проверяващи липсата на нещо: например, може да се провери, че в списъка няма елемент с определена стойност.

Нека решим следната задача: даден е списък с числа, трябва да се провери дали всички елементи в него са положителни. За това ще зададем специална променлива flag, която преди началото на цикъла ще бъде истина. А при срещане на отрицателно число в цикъла, ще променим стойността й на False. За да разберем резултата от проверката, ще изведем променливата flag след цикъла в конзолата:

lst = [1, 2, 3, 4, 5] flag = True for el in lst: if el < 0: flag = False print(flag) # ще изведе True, защото всички числа са положителни

Добро практика е даването на име на променливата-флаг, което отразява зададеното условие. Нека преименуваме flag на isAllPositive. И за по-голяма яснота променим едно число от списъка на отрицателно:

lst = [1, 2, 3, -4, 5] isAllPositive = True for el in lst: if el < 0: isAllPositive = False print(isAllPositive) # ще изведе False, защото има отрицателно число

Ако в обхождания списък има много стойности и е необходимо цикълът да спре след откриването на първото отрицателно число, трябва да се използва инструкцията break:

for el in lst: if el < 0: isAllPositive = False break

При работа с флагове, за да се разбере резултатът от изпълнението на цикъла, може да се изведе не стойността на флага, а произволно съобщение с помощта на допълнителен if.

Нека пренапишем предишния пример. Ако всички елементи са положителни, нека се изведе '+++', ако не - '---':

for el in lst: if el < 0: isAllPositive = False break if isAllPositive: print('+++') else: print('---') # ще изведе '---'

Даден е списък. Проверете дали всички негови елементи са положителни числа.

Дадено е цяло число. Проверете дали то е просто, тоест се дели само на единица и на себе си.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне