Arbeid med flagg i Python

Flagg - er en spesiell variabel, som bare kan ha to verdier: True eller False. Med flagg kan man løse oppgaver som kontrollerer fraværet av noe: for eksempel kan man sjekke at det ikke er noe element i en liste med en bestemt verdi.

La oss løse følgende oppgave: gitt en liste med tall, sjekk om alle elementene i den er positive. For å gjøre dette sett en spesiell variabel flag, som vil være sann før løkken starter. Og når et negativt tall kommer inn i løkken, endre verdien til False. For å finne ut resultatet av sjekken, skriv ut variabelen flag etter løkken i konsollen:

pythonlst = [1, 2, 3, 4, 5]
flag = True

for el in lst:
  if el < 0:
    flag = False
    
print(flag) # vil skrive ut True, siden alle tallene er positive

God praksis er å gi flaggvariabelen et navn som reflekterer den gitte betingelsen. La oss omdøpe flag til isAllPositive. Og for klarhet endre ett tall i listen til negativt:

pythonlst = [1, 2, 3, -4, 5]
isAllPositive = True

for el in lst:
  if el < 0:
    isAllPositive = False
    
print(isAllPositive) # vil skrive ut False, siden det er et negativt tall

Hvis listen som gjennomgås har mange verdier og det er nødvendig å stoppe løkken etter å ha oppdaget det første negative tallet, bør man bruke setningen break:

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

Når man arbeider med flagg, for å finne ut resultatet av løkken, kan man skrive ut ikke bare verdien av flagget, men en vilkårlig melding ved hjelp av en ekstra if.

La oss omskrive forrige eksempel. Hvis alle elementene er positive, la den skrive ut '+++', hvis ikke - '---':

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

if isAllPositive:
  print('+++')
else:
  print('---') # vil skrive ut '---'
Задание 1

Gitt en liste. Sjekk at alle dens elementer er positive tall.

Задание 2

Gitt et heltall. Sjekk om det er et primtall, det vil si delelig kun på én og på seg selv.