Werk met vlae in Python
'n Vlag is 'n spesiale veranderlike
wat slegs twee waardes kan aanneem:
True of False. Met behulp van
vlae kan jy take oplos wat die afwesigheid
van iets toets: byvoorbeeld, jy kan toets
of daar geen element met 'n spesifieke waarde
in 'n lys is nie.
Kom ons los die volgende probleem op: gegewe 'n lys
met nommers, moet jy toets of alle elemente
daarin positief is. Om dit te doen, stel ons
'n spesiale veranderlike flag,
wat waar sal wees voor die lus begin. En
wanneer 'n negatiewe nommer in die lus voorkom,
verander ons sy waarde na False. Om
die toetsresultaat te vind,
toon ons die veranderlike flag na die lus
in die konsole:
lst = [1, 2, 3, 4, 5]
flag = True
for el in lst:
if el < 0:
flag = False
print(flag) # sal True toon, aangesien alle nommers positief is
Goeie praktyk is om die vlagveranderlike 'n naam te gee
wat die voorwaarde weerspieël.
Kom ons hernoem flag
na isAllPositive. En vir duidelikheid
verander ons een nommer in die lys na 'n negatiewe:
lst = [1, 2, 3, -4, 5]
isAllPositive = True
for el in lst:
if el < 0:
isAllPositive = False
print(isAllPositive) # sal False toon, aangesien daar 'n negatiewe nommer is
As die gesoekte lys baie waardes het
en jy wil die lus stop nadat die eerste
negatiewe nommer gevind is, moet jy
die break instruksie gebruik:
for el in lst:
if el < 0:
isAllPositive = False
break
Wanneer jy met vlae werk, om die resultaat van
die lus uit te vind, kan jy nie die waarde van
die vlag toon nie, maar 'n vryboodskap deur 'n
addisionele if te gebruik.
Kom ons herskryf die vorige voorbeeld. As
alle elemente positief is, laat dit dan
'+++' toon, indien nie -
'---':
for el in lst:
if el < 0:
isAllPositive = False
break
if isAllPositive:
print('+++')
else:
print('---') # sal '---' toon
Gegewe 'n lys. Toets of al sy elemente positiewe nommers is.
Gegewe 'n heelgetal. Toets of dit 'n priemgetal is, dit wil sê, slegs deur een en deur homself deelbaar is.