a = True
b = False
print(type(a))
print(a)
print(b)<class 'bool'>
True
False
Խուստուփ, լուսանկարի հղումը Հեղինակ՝ Հայկ Բարսեղյան
(գուցե մի թեթև հին լինի վերսիան)
Ախ
ifտեսնեմ_օրերից_մի_օր:
(c) ժողովուրդ
if
(c) Pink Floyd
Սովորում ենք ինչպես աշխատացնել տարբեր ծրագրեր կախված որոշ պայմաններից։ Նախ ծանոթանում ենք boolean տվյալների տեսակին (True, False արժեքները ընդունող), ապա որոշ համեմատության գործողություններին (==, >, is, …), հետո ծանոթանում ենք if (եթե) բլոկին ու իրա հետ եկող elif, else կտորներին։ Վերջում նայում ենք ներդրված պայմանները (if-ի մեջ if) ու համեմատաբար նոր գրելաձև match-ով։
Գործնական դասերին (հիմիկվա, ու 2023-ի) նայում ենք լրիվ տարբեր խնդիրներ, նենց որ կարող եք երկու դասն էլ նայել։ Նաև հասանելի ա տնայինների քննարկման տեսագրություն 2023-ից։
2023 1. Դասախոսությունը (նյութը նույնն ա, դասը անցկացնողները տարբեր) 2. Գործնականը (խնդիրները լրիվ տարբեր են) 3. Տնայինների քննարկում
Տնայինի հետ կապված նշումները ֆայլի վերջում են
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 = 42
b = 509print(a==b)
print(a, "==", b, a==b)
print(a, "!=", b, a != b)False
42 == 509 False
42 != 509 True
print(a, ">", b, a>b)
print(a, "<", b, a<b)42 > 509 False
42 < 509 True
print(a, ">=", b, a >= b )
print(a, "<=", b, a<=b)42 >= 509 False
42 <= 509 True
print(a, 'is', b, a is b)42 is 509 False
\(-2^8\)-ից \(2^8\) integer-ների դեպքում նրբություն կա որը դասի ժամանակ չեմ նշում, կարող եք կարդալ այստեղ
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))2000145872624
2000145870256
2000145872624
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 & False) # print(True & False), & - shift 7
print(False and False and False)
# print(a > 5 and b < 3)True
False
False
# or (|)
print(True or True)
print(True | False) # print(True | False), | - shift + \
print(False or False)True
True
False
# not
print(not True) # ~True
print(not False)False
True
a = 14
print(a > 10)
print(a < 20)
print(a > 10 and a < 20)
print(10 < a and a < 20)
print(10 < a < 20) # 10 < a and a < 20True
True
True
True
True
print(10 < a < 20)True
a = 11
print(10 == a < 13) # 10 == a and a < 13
# ի՞նչ կտաFalse
print(not 5 != 3)False
print((not 4 == 4) or (4 < 6))True
print((5 < 5 and 5 > 3) or 4 > 4)False
print(True == 2)
print(False == 0)False
True
print(True - True)0
print(True / False)--------------------------------------------------------------------------- ZeroDivisionError Traceback (most recent call last) Cell In[25], line 1 ----> 1 print(True / False) ZeroDivisionError: division by zero
print(True * 4 - False + 3 * False)4
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
Ներքևից վերև ա կարևորությունը (որոշ գործողություններ չենք անցել)
| Operators | Meaning |
|---|---|
() |
Parentheses |
** |
Exponent |
+x, -x, ~x |
Unary plus, Unary minus, Bitwise NOT |
*, /, //, % |
Multiplication, Division, Floor division, Modulus |
+, - |
Addition, Subtraction |
<<, >> |
Bitwise shift operators |
& |
Bitwise AND |
^ |
Bitwise XOR |
| ուղիղ գիծ (տես ներևում) | Bitwise OR |
==, !=, >, >=, <, <=, is, is not, in, not in |
Comparisons, Identity, Membership operators |
not |
Logical NOT |
and |
Logical AND |
or |
Logical OR |
Ուղիղ գիծ - |
Հաճախ մեր գործողությունները տարբեր են, կախված որոշ պայմաններից,
Օրինակ շոր հագնելու ֆունկցիան կախվածա եղանակից՝
եթե ցուրտա
տաք շոր հագնել
մնացած դեպքերում
թեթև հագնվելis_cold = True
if is_cold:
print(1)
print('տաք հագնվի, չմրսես բալա ջան')
print(2)
# tab = q-ից ձախ
# indentation
# if x
# {
# ...
# }1
տաք հագնվի, չմրսես բալա ջան
2
is_cold = True
if is_cold == True: # կարանք չգրենք == True; bool(...) == True
print('մտանք if')
print('տաք հագնվի, չմրսես բալա ջան')
else:
print('մտանք else')
print(2)մտանք if
տաք հագնվի, չմրսես բալա ջան
2
if bool(3) == True:
print(1)
if bool(3):
print(2)
if 3: # bool(3)
print(3)
if 0: # bool(0)
print(4)1
2
3
is_cold = False
if is_cold: # bool(is_cold) == True
print('տաք հագնվի, չմրսես բալա ջան')
else:
print("տաք է")
print(2)տաք է
2
Մի քանի պայման and, not, or-ով
vazelu_enq = True
curta = False
if (not curta) and vazelu_enq:
print('բոթաս')
print(3)
else:
print('կոշիկ')
print(4)բոթաս
3
4
Հնարավորա այնպես լինի որ տարբերակները երկուսից շատ լինեն՝
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('գնացինք դասի :(')գնացինք շաբաթօրյակ
գնացինք դասի :(
Ծրագրավորղը գնումա խանութ, կինը ասումա՝
2 հատ հաց առ, եթե ձու լինի՝ 10 հատ վերցրու,
էս մարդը 10 հատ հաց առած գալիսա տուն, կինը հարցնումա ես ի՞նչ ես արել, ասումա դե ձու ունեին
dzu_ka = False
if dzu_ka:
print('10 հաց')
else:
print("2 հաց")2 հաց
tariq = 20
if tariq > 18:
print('Ինձ մի հատ գինի խնդրում եմ')
if tariq % 10 == 0:
print("Կլոր տարիք")Ինձ մի հատ գինի խնդրում եմ
Կլոր տարիք
tariq = 17
if tariq > 18:
pass
else:
print("ջուր կուզես")ջուր կուզես
apranq = 'ժարիտ'
if apranq == 'պանիր':
gin = 2
elif apranq == 'ձմերուկ':
gin = 4
elif apranq == 'ժարիտ':
gin = 1_000_000_000_000 # _ կարանք դնենք
else:
gin = 'եսիմ'
print(gin)եսիմ
apranq = 'ձմերուկ'
if apranq == 'պանիր':
gin = 2
if apranq == 'ձմերուկ':
gin = 4
# print(gin)
if apranq == 'ժարիտ':
gin = 100_000_000_000_000 # _ կարանք դնենք
else:
gin = 'եսիմ'
print(gin)եսիմ
a = 509
if a > 10:
print("մեծա 10-ից")
if a > 5:
print("մեծա 5-ից")
if a > 1:
print("մեծա 1-ից")մեծա 10-ից
մեծա 5-ից
մեծա 1-ից
a = 7
if a > 10:
print("մեծա 10-ից")
elif a > 5:
print("մեծա 5-ից")
elif a > 1: # եթե վերևինը ճիշտ եղավ, սա էլ չի աշխատի
print("մեծա 1-ից")մեծա 5-ից
tariq = 17
hastatutun = "509 դպրոց"
# nested if
if tariq > 18:
if hastatutun == "ԵՊՀ":
print("ես էլ")
else:
if hastatutun == "509 դպրոց":
print("ես էլ եմ էդ")
else:
print("բա որտեղ ա էդ")
# if (tariq > 18) and hastatun == "::
# ...
# elif tariq < 18 an dես էլ եմ էդ
անչափահասին -> ջուր
գինի ու պանիր -> գինի ու պանիր
գինի սիրում պանիր չի սիրում -> մենակ գինի
գինի չսիրողին -> whiskey# անչափահասին -> ջուր
# գինի չսիրողին -> whiskey
# գինի ու պանիր -> գինի ու պանիր
# գինի սիրում պանիր չի սիրում -> մենակ գինի
tariq = 19
panir_sirum = False
gini_sirum = True
if tariq > 18 and panir_sirum and gini_sirum:
print("gini u panir")
elif tariq > 18 and gini_sirum:
print("gini")
elif tariq > 18:
print("whiskey")
else:
print("jur")
gini
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("ջուր")
ջուր
apranq = 'ձմերուկ'
if apranq == 'պանիր':
gin = 2
elif apranq == 'ձմերուկ':
gin = 4
elif apranq == 'ժարիտ':
gin = 1_000_000_000 # _ կարանք դնենք
else:
gin = 'եսիմ'
print(gin)4
apranq = "ձմերուկ"
match apranq: # switch, case
case "պանիր": # if apranq == "պանիր"
gin = 2
case "ձմերուկ":
gin = 4
case "ժարիտ":
gin = 1_000_000_000
case _: # _ -> else
gin = "եսիմ"
print(gin)4
Տարբեր խնդիրներ ենք նայում երկու վիդեոներում
Read two floats, weight (kg) and height (m), compute the Body Mass Index:
BMI = weight / (height ** 2)
Then categorize:
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
| 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
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)The thermostat sets heating or cooling mode based on:
Current temp (float) and desired (float).
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")if-ից ու else-ից (elif ենթադրեք որ չգիտեք)