Vėliavų naudojimas Python kalboje
Vėliava - tai specialus kintamasis,
kuris gali įgyti tik dvi reikšmes:
True arba False. Naudojant
vėliavas galima spręsti uždavinius, kurie
tikrina, ar kažko nėra: pavyzdžiui, galima
patikrinti, ar sąraše nėra elemento su
tam tikra reikšme.
Išspręskime tokį uždavinį: duotas skaičių
sąrašas, reikia patikrinti, ar visi jo elementai
yra teigiami. Tam sukursime specialų kintamąjį flag,
kuris iki ciklo pradžios bus teisingas. O
kai cikle aptiksime neigiamą skaičių,
pakeisime jo reikšmę į False. Kad
sužinotume patikrinimo rezultatą,
po ciklo išveskime kintamąjį flag
į konsolę:
lst = [1, 2, 3, 4, 5]
flag = True
for el in lst:
if el < 0:
flag = False
print(flag) # išves True, nes visi skaičiai teigiami
Gera praktika yra vėliavos kintamajam suteikti
vardą, atspindintį nurodytą sąlygą. Pavadinkime flag
į isAllPositive. Ir aiškumo dėlei
pakeiskime vieną skaičių sąraše į neigiamą:
lst = [1, 2, 3, -4, 5]
isAllPositive = True
for el in lst:
if el < 0:
isAllPositive = False
print(isAllPositive) # išves False, nes yra neigiamas skaičius
Jei perrenkamame sąraše yra daug reikšmių
ir reikia sustabdyti ciklą, aptikus
pirmąjį neigiamą skaičių, tuomet reikėtų
panaudoti instrukciją break:
for el in lst:
if el < 0:
isAllPositive = False
break
Dirbant su vėliavomis, norint sužinoti ciklo
vykdymo rezultatą, galima išvesti ne vėliavos
reikšmę, o savo nuožiūra sukurta pranešimą naudojant
papildomą if.
Perrašykime ankstesnį pavyzdį. Jei
visi elementai teigiami, tegul
išvedamas '+++', jei ne -
'---':
for el in lst:
if el < 0:
isAllPositive = False
break
if isAllPositive:
print('+++')
else:
print('---') # išves '---'
Duotas sąrašas. Patikrinkite, ar visi jo elementai yra teigiami skaičiai.
Duotas sveikasis skaičius. Patikrinkite, ar jis yra pirminis, tai yra, dalijasi tik iš vieneto ir iš savęs.