🧠 Python – ლოგიკური ტიპი და პირობის ოპერატორები¶
🔹 შესავალი¶
გადაწყვეტილების მიღება.
თუ რაიმე პირობა მართალია — ვაკეთებთ ერთ რაღაცას, ხოლო თუ არა — სხვას.
ამისათვის Python-ში არსებობს ლოგიკური ტიპი (Boolean) და პირობის ოპერატორები.
🔸 Boolean (ლოგიკური) ტიპი¶
Python-ში ორი ლოგიკური მნიშვნელობა არსებობს:
ეს არ არის სტრინგი, ამიტომ არ უნდა ჩასვათ ბრჭყალებში.
მაგალითი:
Boolean ტიპი ხშირად ჩნდება შედარებისას ან პირობებში.
🔸 შედარების ოპერატორები (Comparison Operators)¶
| ოპერატორი | მნიშვნელობა | მაგალითი | შედეგი |
|---|---|---|---|
== |
ტოლია | 5 == 5 |
True |
!= |
არ არის ტოლი | 5 != 3 |
True |
> |
მეტია | 7 > 4 |
True |
< |
ნაკლებია | 3 < 8 |
True |
>= |
მეტია ან ტოლია | 5 >= 5 |
True |
<= |
ნაკლებია ან ტოლია | 4 <= 6 |
True |
მაგალითი:
🔸 ლოგიკური ოპერატორები (Logical Operators)¶
| ოპერატორი | მნიშვნელობა | მაგალითი | შედეგი |
|---|---|---|---|
and |
და | True and True |
True |
or |
ან | True or False |
True |
not |
არ | not True |
False |
მაგალითი:
a = 5
b = 10
print(a > 3 and b < 15) # True (ორივე პირობა მართალია)
print(a > 3 or b > 20) # True (ერთი მაინც მართალია)
print(not(a == 5)) # False (პირობა მართალია, ამიტომ not გარდაქმნის False-ად)
🔸 პირობის ოპერატორები (Conditional Statements)¶
პირობისთვის ვიყენებთ if, elif, else სტრუქტურას:
if პირობა:
# ეს ბლოკი შესრულდება თუ პირობა მართალია
elif სხვა_პირობა:
# ეს ბლოკი შესრულდება თუ პირველი პირობა მცდარია, მაგრამ ეს მართალია
else:
# ეს შესრულდება თუ არცერთი პირობა არ შესრულდა
მაგალითი:
temperature = 25
if temperature > 30:
print("ცხელა!")
elif temperature >= 20:
print("თბილა!")
else:
print("ცივა!")
📤 შედეგი:
🔸 ჩაშენებული პირობის ოპერატორები (Nested if)¶
შეგვიძლია if ბლოკი ჩავწეროთ სხვა if ბლოკში:
age = 20
citizen = True
if age >= 18:
if citizen:
print("შეგიძლია არჩევნებში მონაწილება.")
else:
print("მოქალაქეობა საჭიროა.")
else:
print("არ სრულწლოვანი ხარ.")
📤 შედეგი:
🔸 მაგალითები პრაქტიკიდან¶
1️⃣ რიცხვის დადებითი/უარყოფითი შემოწმება¶
num = -5
if num > 0:
print("დადებითი რიცხვია")
elif num == 0:
print("ნულოვანია")
else:
print("უარყოფითია")
2️⃣ სტუდენტის ქულის შეფასება¶
score = 82
if score >= 90:
print("შესანიშნავი")
elif score >= 75:
print("კარგი")
elif score >= 60:
print("საშუალო")
else:
print("დაუკმაყოფილებელი")
3️⃣ even/odd (ლუწი ან კენტი)¶
4️⃣ and / or გამოყენება¶
age = 25
has_ticket = True
if age >= 18 and has_ticket:
print("შეგიძლია ფილმზე შესვლა")
else:
print("შესვლა აკრძალულია")
5️⃣ not ოპერატორი¶
is_raining = False
if not is_raining:
print("წავიდეთ გასეირნებად!")
else:
print("სჯობს სახლში დავრჩეთ.")
🔹 Boolean როგორც შედეგი სხვა ოპერაციებიდან¶
მათემატიკური შედარებები აბრუნებენ Boolean მნიშვნელობას:
შეგვიძლია ეს მნიშვნელობები შევინახოთ ცვლადში:
🔸 ერთი ხაზით პირობის ჩანაწერი (Conditional Expression / Ternary Operator)¶
ინახავს შედეგს ერთ ხაზში:
📤 შედეგი:
✅ შეჯამება¶
- Boolean ტიპი →
True/False - შედარების ოპერატორები →
==,!=,>,<,>=,<= - ლოგიკური ოპერატორები →
and,or,not - პირობის ოპერატორები →
if,elif,else - ჩაშენებული პირობები →
ifბლოკები ერთმანეთს შიგნით - ტერნარული ოპერატორი → ერთ ხაზზე პირობითი გამოთვლა
💡 დავალება სტუდენტებისთვის¶
- დაწერე პროგრამა, რომელიც ამოწმებს, არის თუ არა რიცხვი 3-ის და 5-ის ჯერადი.
შეამოწმე ტემპერატურის მიხედვით, როგორ უნდა ჩაიცვას ადამიანი:25° → "მოკლემკლავიანი მაისური"
15–25° → "სვიტერი"
<15° → "ჟაკეტი" - შექმენი პროგრამა, რომელიც ამოწმებს, შეუძლია თუ არა მომხმარებელს ავტობუსში უფასოდ მგზავრობა:
(პირობა: ასაკი < 7 ან ასაკი > 65)
💡 Python – პრაქტიკული დავალებები ლოგიკურ და პირობით ოპერატორებზე¶
🔹 I დონე – მარტივი (თავსატეხის გარეშე)¶
ეს დავალებები მოიცავს მხოლოდ ერთ ან ორ პირობას.
1️⃣ შეამოწმე, არის თუ არა რიცხვი დადებითი.
2️⃣ შეამოწმე, არის თუ არა რიცხვი კენტი.
3️⃣ შეამოწმე, უდრის თუ არა ორი ცვლადის მნიშვნელობა.
4️⃣ შეამოწმე, არის თუ არა რიცხვი 10-ზე მეტი.
5️⃣ შეამოწმე, არის თუ არა სტრინგი ცარიელი (len(text) == 0).
6️⃣ შეამოწმე, იწყება თუ არა ტექსტი ასო „A“-თი.
7️⃣ შეამოწმე, მთავრდება თუ არა ტექსტი სიმბოლოთი "!".
8️⃣ შეამოწმე, არის თუ არა რიცხვი ნულოვანი.
9️⃣ შეამოწმე, შედის თუ არა რიცხვი დიაპაზონში 1-დან 100-მდე.
🔟 შეამოწმე, უდრის თუ არა მომხმარებლის შეყვანილი პაროლი "python"-ს.
🔸 II დონე – საშუალო სირთულის¶
ამ დავალებებში საჭიროა and, or, not ან ჩაშენებული პირობები.
11️⃣ შეამოწმე, არის თუ არა რიცხვი ერთდროულად 3-ის და 5-ის ჯერადი.
12️⃣ შეამოწმე, არის თუ არა ტემპერატურა მოსახერხებელი (20–25 გრადუსი შორის).
13️⃣ შეამოწმე, შეუძლია თუ არა ადამიანს მანქანის მართვა (age >= 18).
14️⃣ შეამოწმე, შეუძლია თუ არა უფასო მგზავრობა (age < 7 or age > 65).
15️⃣ შეამოწმე, არის თუ არა რიცხვი დადებითი და ლუწი.
16️⃣ შეამოწმე, არ არის თუ არა სიტყვა "admin".
17️⃣ შეამოწმე, შეესაბამება თუ არა მომხმარებლის სახელი და პაროლი (ორი ცვლადი).
18️⃣ შეამოწმე, არის თუ არა წელი ნაკიანი (4-ზე იყოფა და 100-ზე არა, ან 400-ზე იყოფა).
19️⃣ შეამოწმე, ემთხვევა თუ არა ორი ტექსტი ასო-ასო, რეგისტრის უგულებელყოფით (.lower()).
20️⃣ შეამოწმე, არის თუ არა სტრინგში სიტყვა "Python".
🔹 III დონე – პირობითი არჩევანი (if / elif / else)¶
21️⃣ შექმენი პროგრამა, რომელიც ბეჭდავს:
- "ცივა" თუ ტემპერატურა < 15
- "თბილა" თუ 15–25 შორისაა
- "ცხელა" თუ >25
22️⃣ შეამოწმე, არის თუ არა ქულა საკმარისი გამოცდის ჩასაბარებლად (>= 60).
23️⃣ ქულების მიხედვით დაბეჭდე შეფასება:
- >=90: "შესანიშნავი"
- 75–89: "კარგი"
- 60–74: "საშუალო"
- <60: "დაუკმაყოფილებელი"
24️⃣ შეამოწმე მომხმარებლის ასაკის მიხედვით:
- <13 → "ბავშვი"
- 13–17 → "მოზარდი"
- 18–64 → "ზრდასრული"
- >=65 → "პენსიონერი"
25️⃣ შექმენი პროგრამა, რომელიც ამოწმებს, რამდენი ციფრია რიცხვში (len(str(num))).
🔸 IV დონე – ჩაშენებული პირობები (Nested if)¶
26️⃣ შეამოწმე, შეუძლია თუ არა სტუდენტს გამოცდის ჩაბარება:
- ქულა ≥ 60
- დასწრება ≥ 75%
თუ ორივე პირობა შესრულდა → "ჩააბარა".
27️⃣ მომხმარებელი წერს მომხმარებლის სახელს და პაროლს.
თუ მომხმარებლის სახელი "admin" და პაროლი "1234" → "Welcome!",
სხვა შემთხვევაში "Access denied".
28️⃣ თუ მომხმარებელი შეყავს ასაკი და მოქალაქეობის სტატუსი (True/False),
დაბეჭდე შეუძლია თუ არა არჩევნებში მონაწილეობა.
29️⃣ შეამოწმე, არის თუ არა რიცხვი დადებითი და ასევე ლუწი:
თუ კი → "დადებითი ლუწი",
თუ დადებითია, მაგრამ კენტი → "დადებითი კენტი",
თუ უარყოფითია → "უარყოფითი".
30️⃣ მომხმარებლის ასაკის და ბილეთის ქონის მიხედვით დაბეჭდე:
- აქვს ბილეთი და სრულწლოვანია → "შეგიძლია შესვლა"
- ბილეთი არ აქვს → "შეიძინე ბილეთი"
- არასრულწლოვანია → "შესვლა აკრძალულია"
🔹 V დონე – პრაქტიკული სცენარები¶
31️⃣ მაღაზიაში ფასდაკლება:
- თუ თანხა > 100 → 10% ფასდაკლება
- თუ თანხა > 50 → 5% ფასდაკლება
- სხვა შემთხვევაში ფასდაკლება არაა.
32️⃣ პროგრამა ამოწმებს პაროლის სიძლიერეს:
- სიგრძე >= 8
- შეიცავს "@" ან "!"
თუ ორივე პირობა შესრულდა → "ძლიერი პაროლი"
33️⃣ მომხმარებელი შეიყვანს საათს (0–23):
დაბეჭდე დღეის მონაკვეთი:
- 0–11 → "დილა"
- 12–17 → "შუადღე"
- 18–23 → "საღამო"
34️⃣ შექმენი პროგრამა, რომელიც ამოწმებს, შეიძლება თუ არა პირის შესვლა ღონისძიებაზე:
- ასაკი >= 18
- ბილეთი აქვს
- ადგილი თავისუფალია
თუ ყველა პირობა მართალია → "შესვლა ნებადართულია"
35️⃣ შეამოწმე, არის თუ არა სიტყვა პალინდრომი (წინ და უკან ერთნაირად იკითხება).
🔸 VI დონე – შემოქმედებითი დავალებები¶
36️⃣ დაწერე პროგრამა, რომელიც მომხმარებლის მიერ შეყვანილი რიცხვის მიხედვით ამბობს:
- "Fizz" თუ 3-ზე იყოფა,
- "Buzz" თუ 5-ზე იყოფა,
- "FizzBuzz" თუ ორივეზე იყოფა,
- სხვა შემთხვევაში დაბეჭდავს თვითონ რიცხვს.
37️⃣ შექმენი პროგრამა, რომელიც ადარებს ორ რიცხვს და ბეჭდავს რომელია დიდი ან ტოლია თუ არა.
38️⃣ მომხმარებელი წერს ტემპერატურას ცელსიუსში — თუ >30 ბეჭდავს "ძალიან ცხელა",
თუ 15–30 "ნორმალური ტემპერატურაა",
თუ <15 "ცივა".
39️⃣ შექმენი პროგრამა, რომელიც ითვლის, არის თუ არა წელი "ნაკიანი" და ბეჭდავს შესაბამის შეტყობინებას.
40️⃣ მომხმარებელი შეიყვანს ქულას და პროგრამა დაადგენს, შეუძლია თუ არა სტიპენდიაზე განაცხადის გაკეთება (>=85).
🔹 VII დონე – Boolean ცვლადებით და გამოთვლებით¶
41️⃣ is_even = (number % 2 == 0)
დაბეჭდე ტექსტი "ლუწია" თუ is_even მართალია, სხვაგვარად "კენტია".
42️⃣ მომხმარებელი შეიყვანს ორ რიცხვს, შეამოწმე, ორივე დადებითია თუ არა.
43️⃣ შეამოწმე, არის თუ არა ტექსტში "python" ან "java".
44️⃣ შეამოწმე, არ არის თუ არა ტექსტი ცარიელი (not text).
45️⃣ შეამოწმე, არის თუ არა სტუდენტი გამოცდაზე მისული და ჩაბარებული (ორი Boolean ცვლადი).
46️⃣ გამოიყენე ტერნარული ოპერატორი:
48️⃣ დაწერე პროგრამა, რომელიც ტექსტს აქცევს lowercase-ში და ამოწმებს
"python" სიტყვას.49️⃣ დაწერე პატარა თამაშის მოდელი: თუ მომხმარებელმა გამოიცნო რიცხვი →
"გილოცავ!", სხვა შემთხვევაში "თავიდან სცადე!".50️⃣ შექმენი Boolean ცვლადი
has_permission = True და შეამოწმე, შეუძლია თუ არა შესვლა საიტზე.
📘 საკვანძო იდეა:
პირობის ოპერატორები გვაძლევს საშუალებას პროგრამამ „იფიქროს“, ანუ იმოქმედოს ლოგიკის მიხედვით — ზუსტად ისე, როგორც ჩვენ ვიღებთ გადაწყვეტილებებს ყოველდღიურ ცხოვრებაში.
განმარტება: Boolean ცვლადი has_permission განსაზღვრავს შესვლას.
დამატებითი შენიშვნა თითოეული მაგალითი შეიძლება გამოცდოთ სხვადასხვა მნიშვნელობებით, რათა სტუდენტებმა სხვადასხვა შედეგი ნახონ. input()-ის გამოყენება შეიძლება დაემატოს, თუ მომხმარებლის ინტერაქციაა საჭირო.