ფლაგებთან მუშაობა Python-ში
ფლაგი - ეს არის სპეციალური ცვლადი,
რომელსაც შეუძლია მიიღოს მხოლოდ ორი მნიშვნელობა:
True ან False. ფლაგების საშუალებით
შესაძლებელია ამოცანების ამოხსნა, რომლებიც ამოწმებენ
რაიმეს არარსებობას: მაგალითად, შეგვიძლია შევამოწმოთ,
რომ სიაში არ არის ელემენტი გარკვეული
მნიშვნელობით.
მოდი, ამოვხსნათ შემდეგი ამოცანა: მოცემულია სია
რიცხვებით, საჭიროა შევამოწმოთ, არის თუ არა ყველა ელემენტი
მასში დადებითი. ამისთვის დავსახელოთ სპეციალური ცვლადი flag,
რომელიც ციკლის დაწყებამდე იქნება ჭეშმარიტი. ხოლო
უარყოფითი რიცხვის ციკლში მოხვედრისას,
მას მივანიჭებთ მნიშვნელობას False. იმისთვის,
რომ გავიგოთ შემოწმების შედეგი,
გამოვიტანოთ ცვლადი flag ციკლის შემდეგ
კონსოლში:
lst = [1, 2, 3, 4, 5]
flag = True
for el in lst:
if el < 0:
flag = False
print(flag) # გამოიტანს True, რადგან ყველა რიცხვი დადებითია
კარგი პრაქტიკაა ფლაგით ცვლადისთვის ისეთი სახელის მინიჭება,
რომელიც ასახავს დასახულ პირობას. მოდი, flag
გადავარქვათ isAllPositive. და სიცხადისთვის
შევცვალოთ ერთ-ერთი რიცხვი სიაში უარყოფითზე:
lst = [1, 2, 3, -4, 5]
isAllPositive = True
for el in lst:
if el < 0:
isAllPositive = False
print(isAllPositive) # გამოიტანს False, რადგან არის უარყოფითი რიცხვი
თუ შესამოწმებელ სიაში ბევრი მნიშვნელობაა
და საჭიროა ციკლის შეჩერება პირველი უარყოფითი რიცხვის აღმოჩენის შემდეგ,
მაშინ უნდა გამოვიყენოთ ინსტრუქცია break:
for el in lst:
if el < 0:
isAllPositive = False
break
ფლაგებთან მუშაობისას, ციკლის შესრულების შედეგის გასაგებად,
შესაძლებელია გამოვიტანოთ არა ფლაგის მნიშვნელობა,
არამედ თვითნებური შეტყობინება დამატებითი
if-ის საშუალებით.
მოდი, გადავწეროთ წინა მაგალითი. თუ
ყველა ელემენტი დადებითია, მაშინ
გამოჩნდეს '+++', თუ არა -
'---':
for el in lst:
if el < 0:
isAllPositive = False
break
if isAllPositive:
print('+++')
else:
print('---') # გამოიტანს '---'
მოცემულია სია. შეამოწმეთ, რომ მისი ყველა ელემენტი არის დადებითი რიცხვი.
მოცემულია მთელი რიცხვი. შეამოწმეთ, არის თუ არა ის მარტივი, ანუ იყოფა მხოლოდ ერთზე და თავის თავზე.