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ę:

pythonlst = [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ą:

pythonlst = [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:

pythonfor 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 - '---':

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

if isAllPositive:
  print('+++')
else:
  print('---') # išves '---'
Задание 1

Duotas sąrašas. Patikrinkite, ar visi jo elementai yra teigiami skaičiai.

Задание 2

Duotas sveikasis skaičius. Patikrinkite, ar jis yra pirminis, tai yra, dalijasi tik iš vieneto ir iš savęs.