Karogu izmantošana Python
Karogs - ir īpašs mainīgais,
kas var iegūt tikai divas vērtības:
True vai False. Ar
karogu palīdzību var atrisināt uzdevumus, kas pārbauda
kaut kā neesamību: piemēram, var
pārbaudīt, vai sarakstā nav elementa ar
noteiktu vērtību.
Atrisināsim šādu uzdevumu: dots saraksts
ar skaitļiem, jāpārbauda, vai visi elementi
tajā ir pozitīvi. Šim nolūkam iestatīsim īpašu mainīgo flag,
kurs pirms cikla sākuma būs patiess. Un
ja cikla ietvaros tiks atrasts negatīvs skaitlis,
mainīsim tā vērtību uz False. Lai
uzzinātu pārbaudes rezultātu,
izvadīsim mainīgo flag pēc cikla
konsole:
lst = [1, 2, 3, 4, 5]
flag = True
for el in lst:
if el < 0:
flag = False
print(flag) # izvadīs True, jo visi skaitļi ir pozitīvi
Laba prakse ir karogu mainīgajam piešķirt
vārdu, kas atspoguļo noteikto nosacījumu.
Pārsauksim flag
par isAllPositive. Un skaidrības labad
izmainīsim vienu skaitli sarakstā uz negatīvu:
lst = [1, 2, 3, -4, 5]
isAllPositive = True
for el in lst:
if el < 0:
isAllPositive = False
print(isAllPositive) # izvadīs False, jo ir negatīvs skaitlis
Ja pārbaudāmajā sarakstā ir daudz vērtību
un ir nepieciešams apturēt ciklu pēc pirmā
negatīvā skaitļa atklāšanas, tad jālieto
instrukcija break:
for el in lst:
if el < 0:
isAllPositive = False
break
Strādājot ar karogiem, lai uzzinātu cikla
izpildes rezultātu, var izvadīt nevis karoga
vērtību, bet gan patvaļīgu ziņojumu, izmantojot
papildu if.
Pārrakstīsim iepriekšējo piemēru. Ja
visi elementi ir pozitīvi, tad lai
izvadās '+++', ja nē -
'---':
for el in lst:
if el < 0:
isAllPositive = False
break
if isAllPositive:
print('+++')
else:
print('---') # izvadīs '---'
Dots saraksts. Pārbaudiet, vai visi tā elementi ir pozitīvi skaitļi.
Dots vesels skaitlis. Pārbaudiet, vai tas ir pirmskaitlis, tas ir, dalās tikai ar vienu un pats ar sevi.