and or not как работают **??

 
0
 
Python
ava
BlindBandiit | 23.02.2010, 06:09
не кидайте камнями читаю книжку программируем на питон 3 но не могу понять прицеп работы этих операторов and or not

five = 5
two = 2
zero = 0
print(five and two)
print(two and five)
print(zero and five)
print(five or two)
print(two or five)
print(zero or five)
nought = 0
print(zero or nought)

ответ
2
5
0
5
2
5
0

как они работают перечитал уже 2 раза :( объясните на пальцах пожалуйста
Kommentare (2)
ava
bilbobagginz | 23.02.2010, 07:05 #
ты понимаешь как математические логические операторы AND, OR работают ?

в питоне всё что не false = true.
а в питоне, в логических выражениях, он выдает значение самого последнего вычисленного из операндов на выводе, т.е.
A=1
B=2
C=3
D=0
А and B
выдаст - 2, потому что и А, и B - оба true, но B - последний.
a если:
D and A, то выдаст 0.
что на самом деле запутывает - что следующий список - каждый элемент имеет значение false: 0, '', [], (), {}, None


насчет or - он просто при нахождении первого случая true в цепи - сразу же возвращает, поэтому:
A or B вернет 1.
B or C вернет 2
D or C вернет 3
ava
BlindBandiit | 23.02.2010, 20:50 #
cпасибо вроде разобрался
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden