Lippude kasutamine Pythonis
Lipp on spetsiaalne muutuja,
mis võib omada ainult kahte väärtust:
True või False. Lippude
abil saab lahendada ülesandeid, mis kontrollivad
millegi puudumist: näiteks saab
kontrollida, kas loendis pole elementi
määratud väärtusega.
Lahendame järgmise ülesande: antud on täisarvude
loend, tuleb kontrollida, kas kõik selle elemendid
on positiivsed. Selleks määrame spetsiaalse muutuja
flag,
mis on tsükli alguses tõene. Kui
tsüklis leitakse negatiivne arv,
muudetakse selle väärtus False-ks.
Kontrollimise tulemuse saamiseks
väljastame muutuja flag peale tsüklit
konsooli:
lst = [1, 2, 3, 4, 5]
flag = True
for el in lst:
if el < 0:
flag = False
print(flag) # väljastab True, kuna kõik arvud on positiivsed
Hea tava on anda lipuks olevale muutujale
nimi, mis peegeldab seatud tingimust. Muudame flag
nimeks isAllPositive. Ja selguse huvides
muudame ühe loendis oleva arvu negatiivseks:
lst = [1, 2, 3, -4, 5]
isAllPositive = True
for el in lst:
if el < 0:
isAllPositive = False
print(isAllPositive) # väljastab False, kuna leidub negatiivne arv
Kui läbitavas loendis on palju väärtusi
ja tsükkel tuleb peatada peale esimese
negatiivse arvu leidmist, tuleks
kasutada käsku break:
for el in lst:
if el < 0:
isAllPositive = False
break
Lipuga töötamisel saab tsükli täitmise
tulemuse väljastamiseks mitte lipu väärtust,
vaid suvalise sõnumi, kasutades
täiendavat if.
Kirjutame eelmise näite ümber. Kui
kõik elemendid on positiivsed, siis
väljastatakse '+++', kui mitte -
'---':
for el in lst:
if el < 0:
isAllPositive = False
break
if isAllPositive:
print('+++')
else:
print('---') # väljastab '---'
Antud on loend. Kontrolli, kas kõik selle elemendid on positiivsed arvud.
Antud on täisarv. Kontrolli, kas see on algarv, st jagub ainult ühega ja iseendaga.