Lippujen käsittely Pythonissa

Lippu on erityinen muuttuja, joka voi saada vain kaksi arvoa: True tai False. Lippuja käyttämällä voidaan ratkaista tehtäviä, jotka tarkistavat jonkin puuttumisen: esimerkiksi voidaan tarkistaa, että listassa ei ole elementtiä tietyllä arvolla.

Ratkaistaan seuraava tehtävä: annettu lista numeroita, onko tarkistettava, ovatko kaikki sen elementit positiivisia. Tätä varten asetetaan erityinen muuttuja flag, joka on tosi ennen silmukan alkamista. Kun silmukassa kohdataan negatiivinen luku, muutetaan sen arvoksi False. Saadaksemme selville tarkistuksen tuloksen, tulostamme muuttujan flag konsoliin silmukan jälkeen:

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

for el in lst:
  if el < 0:
    flag = False
    
print(flag) # tulostaa True, koska kaikki luvut ovat positiivisia

Hyvää käytäntöä on antaa lipun muuttujalle nimi, joka heijastaa asetettua ehtoa. Nimetään flag uudelleen muotoon isAllPositive. Ja selkeyden vuoksi muutetaan yksi listan luvuista negatiiviseksi:

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

for el in lst:
  if el < 0:
    isAllPositive = False
    
print(isAllPositive) # tulostaa False, koska on negatiivinen luku

Jos listassa, jota käydään läpi, on paljon arvoja ja silmukka on pysäytettävä ensimmäisen negatiivisen luvun löytymisen jälkeen, tulee käyttää break -komentoa:

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

Lippuja käytettäessä voidaan silmukan suorituksen tuloksen selvittämiseksi tulostaa mielivaltainen viesti käyttämällä lisä if -lausetta lipun arvon sijaan.

Kirjoitetaan edellinen esimerkki uudelleen. Jos kaikki elementit ovat positiivisia, tulostuu '+++', jos ei - '---':

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

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

Annettu lista. Tarkista, että kaikki sen elementit ovat positiivisia numeroita.

Задание 2

Annettu kokonaisluku. Tarkista, onko se alkuluku, eli jaollinen vain ykkösellä ja itsellään.