Praca z flagami w Pythonie

Flaga - to specjalna zmienna, która może przyjmować tylko dwie wartości: True lub False. Za pomocą flag można rozwiązywać zadania, sprawdzające brak czegoś: na przykład, można sprawdzić, że na liście nie ma elementu o określonej wartości.

Rozwiążmy następujące zadanie: dana jest lista liczb, trzeba sprawdzić, czy wszystkie elementy w niej są dodatnie. W tym celu ustawmy specjalną zmienną flag, która przed rozpoczęciem pętli będzie prawdziwa. A gdy w pętli napotkamy liczbę ujemną, zmienimy jej wartość na False. Aby poznać wynik sprawdzenia, wypiszmy zmienną flag po pętli do konsoli:

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

for el in lst:
  if el < 0:
    flag = False
    
print(flag) # wypisze True, ponieważ wszystkie liczby są dodatnie

Dobrą praktyką jest nadawanie zmiennej flagowej nazwy, odzwierciedlającej postawiony warunek. Przemianujmy flag na isAllPositive. Dla przejrzystości zmieńmy jedną liczbę z listy na ujemną:

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

for el in lst:
  if el < 0:
    isAllPositive = False
    
print(isAllPositive) # wypisze False, ponieważ jest liczba ujemna

Jeśli na przeszukiwanej liście jest wiele wartości i trzeba zatrzymać pętlę po wykryciu pierwszej liczby ujemnej, należy zastosować instrukcję break:

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

Podczas pracy z flagami, aby poznać wynik wykonania pętli, można wypisać nie wartość flagi, ale dowolną wiadomość za pomocą dodatkowego if.

Przepiszmy poprzedni przykład. Jeśli wszystkie elementy są dodatnie, to niech wypisze się '+++', jeśli nie - '---':

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

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

Dana jest lista. Sprawdź, czy wszystkie jej elementy są liczbami dodatnimi.

Задание 2

Dana jest liczba całkowita. Sprawdź, czy jest ona liczbą pierwszą, to znaczy dzieli się tylko przez jeden i przez samą siebie.