02 Conditionals: if, elif, else, match, nested if

image.png Խուստուփ, լուսանկարի հղումը Հեղինակ՝ Հայկ Բարսեղյան

Open In Colab (գուցե մի թեթև հին լինի վերսիան)

Ախ if տեսնեմ_օրերից_մի_օր:
(c) ժողովուրդ

if
(c) Pink Floyd

🎦 Տեսադասեր + լրացուցիչ

  1. Տեսություն 2025
  2. Տեսություն 2023
  3. Գործնական 2025
  4. Գործնական 2023
  5. Որոշ տնայինների լուծումներ
  6. [Տնայինների քննարկում 2023(ToDo)]

Նշումներ։ - 2023, 2025-ի գործնականներին լրիվ տարբեր խնդիրներ են նայվում՝ կարող եք երկուսն էլ նայել։ - Տեսությունում նյութը լրիվ նույնն ա ուղղակի դասը անկացնողներն են տարբեր

Դասընթացին մասնակցության ու կարծիք հայտնելու Google Form

📚 Նյութը

Bool տվյալների տեսակ

The name “Boolean” comes from the mathematician George Boole

a = True
b = False

print(type(a))
print(a)
print(b)
<class 'bool'>
True
False

համեմատության գործողություններ

Օպերատոր նկարագիր
== True, եթե հավասար են
!= True, եթե հավասար չեն
< True, եթե ավելի փոքրա առաջինը երկորդից
> True, եթե ավելի մեծա առաջինը երկորդից
<= True, եթե առաջինը ավելի փոքրա կամ հավասար երկորդից
>= True, եթե առաջինը ավելի մեծա կամ հավասար երկորդից
is True, եթե նույն օբյեկտ են (հեսա կբացատրեմ :) )

Հակառակ դեպքում՝ False

a = 11
b = 509
print(a, "==", b, a==b)
print(a, "!=", b, a != b)
11 == 509 False
11 != 509 True
print(a, ">", b, a>b)
print(a, "<", b, a<b)
11 > 509 False
11 < 509 True
print(a, ">=", b, a >= b )
print(a, "<=", b, a<=b)
11 >= 509 False
11 <= 509 True
print(a, 'is', b, a is b)
11 is 509 False

is-ը մանրամասն

c = 465
d = 465

print(c, '==', d, c == d)
print(c, 'is', d, c is d)
465 == 465 True
465 is 465 False
e = c
print(e, 'is', c, e is c)
465 is 465 True
print(id(c))
print(id(d))
print(id(e))
140465260069104
140465260070864
140465260069104
print(c is d)
# ն նույննա ինչ
print(id(c) == id(d))
False
False

Բուլյան տրամաբանություն

and (&), or (|), not

# and (&)

print(True and True) # True and True and True
print(True and False) # print(True & False)
print(False and False)
True
False
False
False
# or (|)
print(True or True)
print(True or False) # print(True | False)
print(False or False)
True
True
False
# not
print(not True)
print(not False)
False
True

Փոխանցականություն (transitivity)

a = 11

print(a > 10)
print(a < 20)

print(10 < a and a < 20)

print(10 < a < 20) # 10 < a and a < 20
True
True
True
True
print(10 < a < 20)
True
a = 11
print(10 == a < 11) # 10 == a and a < 11
# ի՞նչ կտա
False

Վարժություններ

print(not 5 != 3)
print((not 4 == 4) or (4 < 6))
print((5 < 5 and 5 > 3) or 4 > 4)

Բուլյանները ինչպես 1, 0

print(True == 2)
print(False == 0)
False
True
print(True - True)
0
print(True / False)
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
Input In [21], in <cell line: 1>()
----> 1 print(True / False)

ZeroDivisionError: division by zero

Այլ

  1. == եթե համեմատում ենք,
  2. = եթե վերագրում ենք անում

False են False ից ու 0 ից բացի նաև՝

print(int(3.14))
print(bool(3.14))
3
True
bool(0)
False
bool(0.0)
False
bool('')
False
bool([])
bool({})
bool(())
False
bool(None)
False

Մնացած ամենինչ True

print(bool(3))
print(bool(3) and True)
True
True
print(bool('պանիր'))
True

If (եթե) պայման

Հաճախ մեր գործողությունները տարբեր են, կախված որոշ պայմաններից,

Օրինակ շոր հագնելու ֆունկցիան կախվածա եղանակից՝

եթե ցուրտա
    տաք շոր հագնել

մնացած դեպքերում
    թեթև հագնվել
is_cold = True

if is_cold:
    print(34567)
    print('տաք հագնվի, չմրսես բալա ջան')

print(3456782)
34567
տաք հագնվի, չմրսես բալա ջան
3456782
is_cold = False

if is_cold == True:
    print('տաք հագնվի, չմրսես բալա ջան')
else:
    print("տաք է")

print(2)
տաք է
2
if bool(3 == True):
    print(211)

if bool(3):
    print(123)

if 3: # bool(3)
    print(134)


if 0: # bool(0)
    print(2)
123
134
is_cold = False

if bool(is_cold) == True:
    print('տաք հագնվի, չմրսես բալա ջան')
else:
    print("տաք է")

print(2)
տաք է
2
is_cold = False

if is_cold: # bool(is_cold) == True
    print('տաք հագնվի, չմրսես բալա ջան')
else:
    print("տաք է")

print(2)
տաք է
2
is_cold = False

# if is_cold:
if "barev": # bool("barev") -> True
    print('տաք հագնվի, չմրսես բալա ջան')
else:
    print("տաք է")

print(2)
տաք հագնվի, չմրսես բալա ջան
2

С++ ի պես {} չկան, ստեղ tab-եր ա

vazelu_enq = True
curta = False

if (not curta) and vazelu_enq:
    print('բոթաս')
    print(3)
else:
    print('կոշիկ')

print(4)
բոթաս
3

elif (elif)

Հնարավորա այնպես լինի որ տարբերակները երկուսից շատ լինեն՝

զարթնում ենք եթե շաբաթա՝ գնում ենք շաբաթօրյակի,

եթե կիրակի՝ գնում ենք չինգաչունգի չեմպիոնատի,

եթե այլ օրա գնում ենք դասի

day = 'շաբաթ' # or = "շաբաթ"

if day == 'շաբաթ':
    print('գնացինք շաբաթօրյակ')
else:
    print('չենք գնում շաբաթօրյակի, բա ու՞ր ենք գնում՝ պարզ չի')
գնացինք շաբաթօրյակ
day = 'կիրակի'

if day == 'շաբաթ':
    print('գնացինք շաբաթօրյակ')
else:
    if day == 'կիրակի': # else if, եթե վերևի if-ը չի ու մեր ստեղ գրած պայմաննա
        print('գնացինք չինգաչունգ խաղանք')
    else:
        print('գնացինք դասի :( ')
        
գնացինք դասի :( 
day = 'շաբաթ'

if day == 'շաբաթ':
    print('գնացինք շաբաթօրյակ')
elif day == 'կիրակի': # else if, եթե վերևի if-ը չի ու մեր ստեղ գրած պայմաննա
    print('գնացինք չինգաչունգ խաղանք')
else:
    print('գնացինք դասի :( ')
գնացինք շաբաթօրյակ
day = 'շաբաթ'
day = "կիրակի"
day = "werxtyno"

if day == 'շաբաթ':
    print('գնացինք շաբաթօրյակ')
elif day == 'կիրակի': # else if, եթե վերևի if-ը չի ու մեր ստեղ գրած պայմաննա
    print('գնացինք չինգաչունգ խաղանք')
else:
    print('գնացինք դասի :( ')
գնացինք դասի :( 
day = 'շաբաթ'
# day = "կիրակի"
# day = "werxtyno"

if day == 'շաբաթ':
    print('գնացինք շաբաթօրյակ')
if day == 'կիրակի': # else if, եթե վերևի if-ը չի ու մեր ստեղ գրած պայմաննա
    print('գնացինք չինգաչունգ խաղանք')
else:
    print('գնացինք դասի :( ')
գնացինք շաբաթօրյակ
գնացինք դասի :( 
The Kernel crashed while executing code in the current cell or a previous cell. 

Please review the code in the cell(s) to identify a possible cause of the failure. 

Click <a href='https://aka.ms/vscodeJupyterKernelCrash'>here</a> for more info. 

View Jupyter <a href='command:jupyter.viewOutput'>log</a> for further details.

Օրինակներ (ու լրացուցիչ բաներ)

Անիկդոտ

Ծրագրավորղը գնումա խանութ, կինը ասումա՝

2 հատ հաց առ, եթե ձու լինի՝ 10 հատ վերցրու,

էս մարդը 10 հատ հաց առած գալիսա տուն, կինը հարցնումա ես ի՞նչ ես արել, ասումա դե ձու ունեին

dzu_ka = False

if dzu_ka:
    print('10 հաց')
else:
    print("2 հաց")
2 հաց

պարտադիր չի else գրենք, կարա մենակ if լինի

tariq = 20
if tariq > 18:
    print('Ինձ մի հատ գինի խնդրում եմ')

if tariq % 10 == 0:
    print("Կլոր տարիք")
Ինձ մի հատ գինի խնդրում եմ
Կլոր տարիք
# pass
tariq = 17

if tariq > 18:
    pass
else:
    print("ջուր կուզես")
ջուր կուզես

կարա մի քանի elif լինի

apranq = 'պանիր'

if apranq == 'պանիր':
    gin = 2
elif apranq == 'ձմերուկ':
    gin = 4
elif apranq == 'ժարիտ':
    gin = 1_000_000_000 # _ կարանք դնենք
else:
    gin = 'եսիմ'

print(gin)
2

ինչի՞ ենք elif օգտագործում եթե կարանք if գրենք

apranq = 'պանիր'

if apranq == 'պանիր':
    gin = 2
# print(gin)
if apranq == 'ձմերուկ':
    gin = 4
if apranq == 'ժարիտ':
    gin = 100_000_000_000_000 # _ կարանք դնենք
else:
    gin = 'եսիմ'

print(gin)
եսիմ
print(100_000_000_000_000)
print(100000000000000)
100000000000000
100000000000000
a = 0

if a > 10:
    print("մեծա 10-ից")
if a > 5:
    print("մեծա 5-ից")
if a > 1:
    print("մեծա 1-ից")
a = 62
a = -2

if a > 10:
    print("մեծա 10-ից")
elif a > 5:
    print("մեծա 5-ից")
elif a > 1: # եթե վերևինը ճիշտ եղավ, սա էլ չի աշխատի
    print("մեծա 1-ից")
else:
    print("փոքր ա 1-ից")
փոքր ա 1-ից

if-ի մեջ if (ներդրված if-եր)

tariq = 17
hastatutun = "10 դպրոց"
# nested if
if tariq > 18: # pass գրում ենք եթե ուզում ենք ոչ մի բան չանել այդ դեպքում
    if hastatutun == "ԵՊՀ":
        print("ես էլ")
else:
    if hastatutun == "10 դպրոց":
        print("ես էլ եմ էդ")
    else:
        print("բա որտեղ ա էդ")

# if (tariq > 18) and hastatun == "::
#     ...
# elif tariq < 18 an d
ես էլ եմ էդ
անչափահասին -> ջուր
գինի չսիրողին -> whiskey
գինի ու պանիր -> գինի ու պանիր
գինի սիրում պանիր չի սիրում -> մենակ գինի
tariq = 18
panir_sirum = True
gini_sirum = False

if tariq < 18:
    print("Jur")
elif not gini_sirum:
    print("whiskey")
elif (tariq >= 18) and gini_sirum and panir_sirum:
    print("Gini u panir")
elif (tariq >= 18) and gini_sirum and (not panir_sirum):
    print("Gini")
whiskey
tariq = 18
panir_sirum = True
gini_sirum = False

if tariq >= 18:
    if gini_sirum:
        if panir_sirum:
            print("gini u panir")
        else:
            print("gini")
    else:
        print("Whiskey")
else:
    print("Jur")
Whiskey
tariq = 16
gini_sirum = True
panir_sirum = True

if tariq < 18:
    print("ջուր")
else:
    if gini_sirum and panir_sirum:
        print("գինի ու պանիր")
    elif gini_sirum:
        print("գինի")
    else:
        print("whiskey")
ջուր
tariq = 16
gini_sirum = True
panir_sirum = True

if tariq < 18:
    print("ջուր")
else:
    if gini_sirum:
        if panir_sirum:
            print("գինի ու պանիր")
        else:
            print("gini")
    else:
        print("whiskey")
ջուր
# 2 * 2 * 2 = 8


tariq = 16
gini_sirum = True
panir_sirum = True


if tariq > 18:
    if gini_sirum:
        if panir_sirum:
            print("գինի ու պանիր")
        else:
            print("gini")
    else:
        print("whiskey")
else:
    print("ջուր")
ջուր
tariq = 59
panir_siruma = False
gini_siruma = True

if tariq > 18 and panir_siruma and gini_siruma:
    print("panir u gini")
elif tariq > 18 and panir_siruma and (not gini_siruma)
    print("meka ")
elif tariq > 18 and (not panir_siruma)
tariq = 20
panir_siruma = False
gini_siruma = False

if tariq > 18:
    if gini_siruma:
        if panir_siruma:
            print("պանիր ու գինի")
        else:
            print("գինի")
    else:
        print("շամպայն ու թան")
else:
    print("ջուր")
շամպայն ու թան

Match

apranq = 'ժարիտ'

if apranq == 'պանիր':
    gin = 2
elif apranq == 'ձմերուկ':
    gin = 4
elif apranq == 'ժարիտ':
    gin = 1_000_000_000 # _ կարանք դնենք
else:
    gin = 'եսիմ'
print(gin)
1000000000
apranq = "ձմերուկ"
match apranq: # switch, case
    case "պանիր": # if apranq == "պանիր"
        gin = 2
    case "ձմերուկ":
        gin = 4
    case "ժարիտ":
        gin = 1_000_000_000
    case _:
        gin = "եսիմ"

print(gin)
4

🏡Տնային

Հիմնական տնային

  1. Profound բաժին 5 (Պայմաններ) - լրիվ
  2. Profound բաժին 7 (Ներդրված պայմաններ) - լրիվ
  3. Profound բաժին 9 (Փոփոխականներ և տիպեր) - 1 - 10 (ներառյալ)

Նշումներ

  • Բաժին 5-ը գրելիս կարելի ա օգտվել մենակ if-ից ու else-ից (elif ենթադրեք որ չգիտեք)
  • Դժվար պայմաններ (7.14)-ը լուծելիս եթե շատ երկար լինի Ձեր լուծումը, մի հատ էլ հետո մտածեք ոնց կարաք ավելի կարճ ու կոկիկ դարձնեք bool փոփոխականներ սահմանելով
  • Եթե կուզեք կարաք Բաժին 9-ը փորձեք մինչև վերջ անել՝ հաջորդ տնայինը դա ա լինելու

🛠️ Գործնական (ToDo)

Տեսագրությունը (ToDo)

BMI calculator

Read two floats, weight (kg) and height (m), compute the Body Mass Index:

BMI = weight / (height ** 2)

Then categorize:

  • BMI < 18.5 → Underweight
  • 18.5 ≤ BMI < 25 → Normal
  • 25 ≤ BMI < 30 → Overweight
  • BMI ≥ 30 → Obese

Don’t forget to check that the input is valid (positive numbers).

Input Output
70 1.75 Normal
-70 1.75 Invalid input
weight = float(input("Weight: "))
height = float(input("Height: "))

if (weight <= 0) or (height <= 0):    
    print("Invalid input")
else:
    BMI = weight / (height ** 2)
    print("BMI is", BMI)
    if BMI < 18.5:
        print("Underweight")
    elif BMI < 25: 
        print("Normal")
    elif BMI < 30:
        print("Overweight")
    else:
        print("Obese")
    
BMI is 0.4444444444444444
Underweight

Discounts

Purchase Amount Discount
Up to $100 No discount
$100–$500 5%
Above $500 10%

Additionally, if the user has a “premium” membership, they get an extra 5% on top of the above.

Example
Input: amount=600, premium=True
Output: 510.0

Դասին գրված կոդ

amount = float(input("Amount"))
premium = input("Premium (yes/no)")

# himnakan 
if amount < 100:
    zexch = 0
elif amount <= 500:
    zexch = 0.05
else:
    zexch = 0.1

print("Հիմնական զեղչ։", zexch)
# ծանոթ 
if (premium == "yes") or (premium == "Yes"):
    print("յաա, են ում ․․")
    zexch += 0.05
    

print("ԶԵղչ։", zexch)
print(amount * (1 - zexch))
    
Հիմնական զեղչ։ 0.1
յաա, են ում ․․
ԶԵղչ։ 0.15000000000000002
450.5
print(bool(False))
print(bool("False"))
False
True

GPT-ի հետ շփ-թփ արած կոդ

amount = float(input("Enter purchase amount: "))
membership = input("Premium membership? (yes/no): ")


if amount <= 100:
    discount = 0
elif amount <= 500:
    discount = 0.05
else:
    discount = 0.10

if membership == "yes":
    discount += 0.05

# Compute final price
final_price = amount * (1 - discount)

# Print result
print("Final price:" , final_price)

Smart Thermostat

The thermostat sets heating or cooling mode based on:

Current temp (float) and desired (float).

  • If temp < desired - 2 → “Heating”
  • If temp > desired + 2 → “Cooling”
  • Otherwise → “Standby”.

BUT if the user is “away” (bool), widen the deadband to ±5° before switching off.

Example Input: temp=22.0, desired=25.0, away=True Output: Heating












temp = float(input("Current temperature (°C): "))
desired = float(input("Desired temperature (°C): "))
away = input("Away? (yes/no): ")

if away == "yes":
    deviation = 5
else:
    deviation = 2

if temp <  desired - deviation:
    print("Heating")
elif temp > desired + deviation:
    print("Cooling")
else:
    print("Standby")
Standby

Շախմատային ձի

Profound 8.6

x1, y1 = int(input()), int(input())
x2, y2 = int(input()), int(input())

xdist = x1 - x2
ydist = y1 - y2

if (xdist == 1 or xdist == -1) and (ydist == 2 or ydist == -2):
    print("Yes")
elif (xdist == 2 or xdist == -2) and (ydist == 1 or ydist == -1):
    print("Yes")
else:
    print("No")

🎲 2

Flag Counter