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:

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

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

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

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

if isAllPositive:
  print('+++')
else:
  print('---') # sal '---' toon
Задание 1

Gegewe 'n lys. Toets of al sy elemente positiewe nommers is.

Задание 2

Gegewe 'n heelgetal. Toets of dit 'n priemgetal is, dit wil sê, slegs deur een en deur homself deelbaar is.