ფლაგებთან მუშაობა Python-ში

ფლაგი - ეს არის სპეციალური ცვლადი, რომელსაც შეუძლია მიიღოს მხოლოდ ორი მნიშვნელობა: True ან False. ფლაგების საშუალებით შესაძლებელია ამოცანების ამოხსნა, რომლებიც ამოწმებენ რაიმეს არარსებობას: მაგალითად, შეგვიძლია შევამოწმოთ, რომ სიაში არ არის ელემენტი გარკვეული მნიშვნელობით.

მოდი, ამოვხსნათ შემდეგი ამოცანა: მოცემულია სია რიცხვებით, საჭიროა შევამოწმოთ, არის თუ არა ყველა ელემენტი მასში დადებითი. ამისთვის დავსახელოთ სპეციალური ცვლადი flag, რომელიც ციკლის დაწყებამდე იქნება ჭეშმარიტი. ხოლო უარყოფითი რიცხვის ციკლში მოხვედრისას, მას მივანიჭებთ მნიშვნელობას False. იმისთვის, რომ გავიგოთ შემოწმების შედეგი, გამოვიტანოთ ცვლადი flag ციკლის შემდეგ კონსოლში:

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

for el in lst:
  if el < 0:
    flag = False
    
print(flag) # გამოიტანს True, რადგან ყველა რიცხვი დადებითია

კარგი პრაქტიკაა ფლაგით ცვლადისთვის ისეთი სახელის მინიჭება, რომელიც ასახავს დასახულ პირობას. მოდი, flag გადავარქვათ isAllPositive. და სიცხადისთვის შევცვალოთ ერთ-ერთი რიცხვი სიაში უარყოფითზე:

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

for el in lst:
  if el < 0:
    isAllPositive = False
    
print(isAllPositive) # გამოიტანს False, რადგან არის უარყოფითი რიცხვი

თუ შესამოწმებელ სიაში ბევრი მნიშვნელობაა და საჭიროა ციკლის შეჩერება პირველი უარყოფითი რიცხვის აღმოჩენის შემდეგ, მაშინ უნდა გამოვიყენოთ ინსტრუქცია break:

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

ფლაგებთან მუშაობისას, ციკლის შესრულების შედეგის გასაგებად, შესაძლებელია გამოვიტანოთ არა ფლაგის მნიშვნელობა, არამედ თვითნებური შეტყობინება დამატებითი if-ის საშუალებით.

მოდი, გადავწეროთ წინა მაგალითი. თუ ყველა ელემენტი დადებითია, მაშინ გამოჩნდეს '+++', თუ არა - '---':

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

if isAllPositive:
  print('+++')
else:
  print('---') # გამოიტანს '---'
Задание 1

მოცემულია სია. შეამოწმეთ, რომ მისი ყველა ელემენტი არის დადებითი რიცხვი.

Задание 2

მოცემულია მთელი რიცხვი. შეამოწმეთ, არის თუ არა ის მარტივი, ანუ იყოფა მხოლოდ ერთზე და თავის თავზე.