Дарси 25. Операторҳои мантиқӣ дар Python - Технологияи иттилоотӣ — синфи 10
Се оператор
Ифодаи мантиқӣ аз ифодаҳои нисбӣ ва операторҳои мантиқӣ сохта мешавад; қимати он – True ё False. Дар Python се оператори мантиқӣ ҳаст: or («ё»), and («ва»), not («не»). Ҷадвали ҳаққоният барои ду ифодаи нисбии X ва Y:
X Y not X not Y True False False True False True True False True True False False False False True True
навбатӣ Дарси 26. Кори амалӣ бо операторҳои мантиқӣ 1 соат
True False False True False True False True True True True True False False False False
Худатон ҷадвалҳоро пур кунед (Python-реҷа: True/False):
Ҷадвалҳои ҳаққоният санҷида бин! Аз нав Авлавият. Агар якчанд оператор бошад, аввал not, баъд and, баъд or иҷро мешавад (дар ҳар сатҳ аз чап ба рост); қавсҳо тартибро тағйир медиҳанд.
Дар сатри 1 False and False аввал ҳисоб мешавад; дар сатри 2 қавс or-ро аввал мегузаронад – натиҷа дигар мешавад.
Кадом амал аввал иҷро мешавад? санҷида бин! Аз нав
and ва or қимати операндро бармегардонандДар Python None, 0, 0.0, '', [], () ва {} ҳамчун False ҳисоб мешаванд; ҳама чизи дигар (ҳар адади ғайрисифр, сатри ғайрихолӣ…) – ҳамчун True:
Қимат Ифода Натиҷа ҳеҷ чиз bool(None)Falseсифр bool(0)Falseсифри ҳақиқӣ bool(0.0)Falseсатри холӣ bool('')Falseрӯйхати холӣ bool([])Falseқатори холӣ bool(())Falseлуғати холӣ bool({})Falseадади ғайрисифр bool(5)Trueадади манфӣ bool(-3)Trueсатри ғайрихолӣ bool('a')Trueрӯйхати ғайрихолӣ bool([0])True
Аз ин рӯ and ва or на ҳамеша True/False, балки яке аз операндҳоро медиҳанд: x and y – агар x дурӯғ бошад, x, вагарна y; x or y – агар x рост бошад, x, вагарна y.
Мисоли 1. and дар реҷаи >>> бо сатрҳо:
a and b – 'b' (ҳар ду рост, натиҷа – охирини); '' and b – '' (чап дурӯғ, ҳамон мемонад); a and b and c – 'c'. Ҳамин тавр or:
Оператор Ифода Натиҷа and 'a' and 'b''b'and '' and 'b'''and 0 and 50and 3 and 55or '' or 'x''x'or 0 or 55or 3 or 53or 0 or ''''
Мисолҳо Мисоли 2. and барои 7 > 7, 2 > -1 ва x > 0, y > 0:
Дар якум 7 > 7 – False, пас and – False. Дар дуюм ҳар ду True.
Мисоли 3. or барои 5 > 7, 2 < 3 ва 12 > 15, 20 < 15:
Дар якум 5 > 7 – False, 2 < 3 – True: or – True. Дар дуюм ҳар ду False.
Мисоли 4. 6 > 6 or 2 > -1 дар реҷаи >>>:
Чаро True? 6 > 6 – False, вале 2 > -1 – True; аз ду ақалан яке рост аст.
Мисоли 5. not барои адади 5:
5 ғайрисифр аст, пас True; not True – False.
Мисоли 6. not (a == 3 or a == 4) барои a = 37:
a == 3 ва a == 4 – ҳар ду False, or – False, not – True.
Худатон иҷро кунед Лабораторияи Python: операторҳои мантиқӣ санҷида бин! Аз нав
Кор дар синф
Машқҳо
Саволҳо 1. Дар Python ифодаҳои мантиқӣ чӣ тавр сохта мешаванд?
2. Қимати ифодаи мантиқӣ чӣ аст?
3. Дар Python кадом операторҳои мантиқӣ истифода мешаванд?
4. Оё шумо тарзи иҷрои операторҳои мантиқии дар ҷадвали ҳаққоният овардашударо шарҳ дода метавонед?
5. Дар иҷрои операторҳои мантиқии and, or ва not авлавият чӣ тавр муқаррар шудааст?
6. Тарзи иҷрои оператори мантиқии and чӣ гуна аст? Аз операторҳои мантиқии or ва not чӣ?
Супоришҳо 7. Мавзӯъро бодиққат хонда, таҳлил кунед ва барномаҳои овардашударо дар компютер иҷро кунед.
Вазифаи хонагӣ
Саволҳои 1–6-ро шифоҳӣ омода кунед; савол 5-ро дар дафтар бо мисол нависед.
Супориши 7-ро иҷро кунед.
Вазифаи хонагии онлайнро («ТИ 10 · Вазифаи хонагӣ · Дарси 25») дар саҳифаи «Супоришҳо» иҷро кунед, агар омӯзгор таъин карда бошад.
Хулоса
not, and, or; авлавият: not → and → or; қавс тартибро иваз мекунад.
False барои None, 0, '', [], (), {}; ҳама чизи дигар – True.
x and y ва x or y яке аз операндҳоро бармегардонанд.
Де Морган: not (A or B) ≡ (not A) and (not B).
Дар ин дарс
се оператори мантиқиро (not, and, or) ва ҷадвали ҳаққонияти онҳоро медонед;
авлавияти онҳоро (not, баъд and, баъд or) дар ифода истифода мебаред;
мефаҳмед, ки 0, '', [], None дар шарт False-анд ва and/or яке аз операндҳоро бармегардонанд.
Такрор (2 дақиқа)
Чӣ чоп мешавад: print(5 > 3, 5 == 3)?
Чӣ чоп мешавад: x = 4, print(x != 4)?
Ду шартро якҷоя чӣ тавр нависем: «n калон аз 0 ва хурд аз 10»?
Ҷавоб
True False. 2. False. 3. n > 0 and n < 10.
Вазъият барои андешаронӣ Дар мағоза: «Агар кортро доред ва рамзро медонед – харид мекунед». Ё: «Агар нақд доред ё корт – харид мекунед». Чӣ фарқ дорад «ва» аз «ё», ва кай ҳар кадом дуруст аст?
Кори амалӣ
Дар лабораторияи «Қиматҳои амалҳо» ададҳо ва сатрҳоро иваз кунед.
Масъалаи 1: 10 <= n and n <= 20. Масъалаи 2: кабисаи сол. Масъалаи 3: not (a == 3 or a == 4).
Дар компютр: IDLE, дар телефон: лаборатория.
Калимаҳои калидӣ оператори мантиқӣ and or not авлавият ҷадвали ҳаққоният
Ман дар ин дарс чӣ омӯхтам? Кадомашро аллакай метавонед ва кадомашро боз машқ мекунед?
Ман ҷадвали ҳаққонияти and, or, not-ро медонам.
Ман авлавияти амалҳоро дар ифодаи омехта истифода мебарам.
Ман медонам, ки '' ва 0 дар шарт False-анд.
Нависед: not (a == 3 or a == 4)-ро бе not чӣ тавр менависед?
Чӣ чоп мешавад (се сатр)?
Як ҷавобро интихоб кунед A True, True, True B True, False, False C False, False, True D True, False, True
Як ҷавобро интихоб кунед A False B True C 5 D -5
Як ҷавобро интихоб кунед A '' B 'b' C None D False
Як ҷавобро интихоб кунед A None B Хато C True D False
Кадом ифода ба not (a == 3 or a == 4) баробарқувва аст (қонуни де Морган)?
Як ҷавобро интихоб кунед A a != 3
B a == 3 and a == 4
C a != 3 or a != 4
D a != 3 and a != 4
>>> a = 'a'
>>> b = 'b'
>>> c = 'c'
>>> a and b
'b'
>>> '' and b
''
>>> a and b and c
'c'
>>> a = 6 > 6 or 2 > -1
>>> print(a)
True
>>> a = 5
>>> z = not(a)
>>> print(z)
False
print ( True or False and False )
print ( ( True or False ) and False )
print ( not True or True )
print ( not ( True or True ) )
a = 7 > 7 and 2 > - 1
print ( a )
x = 10
y = 20
c = x > 0 and y > 0
print ( c )
a = 5 > 7 or 2 < 3
print ( a )
c = 12 > 15 or 20 < 15
print ( c )
a = 37
y = not ( a == 3 or a == 4 )
print ( y )
print ( 3 > 2 and 5 > 4 )
print ( 3 > 2 and 5 < 4 )
print ( 3 < 2 or 5 > 4 )
print ( True or False and False )