Уроки по Python, часть 2, логика



































Приветствую! Это тот самый долгожданный урок по замечательному языку программирования Python. Сегодня мы разберем:





  1. Логические выражения
  2. Оператор if
  3. Оператор else
  4. Оператор elif
Приступим!





Логические выражения

Наверняка все мы помним, как в начальной школе сравнивали числа: 5<8, это правда; 5>2, тоже правда; 5<4, а вот это ложь. Также и в языке Python, только операторов здесь немного больше. Вот список:





x == 8 # x равен 8

x != 3 # x не равен 3

x > 5 # x больше 5

x < 5 # x меньше 5

x >= 7 # x больше или равен 7

x <= 6 # x меньше или равен 6




Это простые выражения.





Также можно использовать сложные выражения. На их выходе мы получаем либо True (правда), либо False (ложь). Чтобы использовать сложные выражения, нужно знать еще несколько операторов, а именно and и or. Думаю, их значение понятно, и и или соответственно. Итак, небольшой пример:





x = 6

y = 13

x == 6 and y < 15 # x равен 8 и y меньше 15

x > 6 and y < 15 # x больше 8 и y меньше 15

x != 0 or y >15 # x не равен 0 или y больше 15

x < 0 or y >15 # x меньше 0 или y больше 15




Чтобы получить правду с оператором or, необходимо, чтобы результаты хотя бы одного простого выражения был истинным. Ложным выражение становится тогда, когда ложны все составляющие его простые выражения.





Чтобы получить истину при использовании оператора and, необходимо, чтобы результаты обоих простых выражений, которые связывает данный оператор, были истинными. Если хотя бы в одном случае результатом будет False, то и все сложное выражение будет False. Строки тоже можно сравнивать, попробуйте сами это сделать.





Думаю, понятно, если вы что-то не поняли, то спрашивайте. Иначе не получится выполнить домашнее задание :-\





Условные операторы

Обычно в наших программах все было понятно — за таким-то действием идет второе, за вторым третье и т.д. И ничего не могло этому помешать (ну кроме ошибок ;) ). Теперь вы сможете использовать условный оператор [b]if[/b], что поможет создавать условия. Конструкция выглядит так:





if переменная условие вторая_переменная:


что_выполнить_если_выражение_выше_правда





Обратите внимание, что после первой строки обязательно должно быть двоеточие и отступ в 4 пробела!


Пример простого условия:





#Условие

g=7

c=8

if c == g:

print('Hooray!')



#А вы не забыли про логические операторы?

t=5

b=2

j=7

if t > b and t < j:

print('It is magic')







«Но ведь условия не всегда правдивы!», скажете вы. И будете правы — для этого существует конструкция if-else. Вот пример, после которого вы все поймете.








h=int(input('Enter... ')) #Мы не знаем, какое число введет пользователь

if h == 4: #Если 4, то...

print('All right')

elif h < 6: #Если у вас не одно условие, то второе можно задать с помощью elif

print('Empty')

else: #Как видите, else без аргументов

print('You are fool') #Тоже 4 отступа!







Если ни одно условие выше не True, то тогда выполняется блок else. Если хоть одно условие выше правда, то блок else просто пропускается, а правдивое условие выполняется. Я использовал elif — если первое условие не выполняется, то смотри дальше, если опять false, то дальше, до else. Вот так сделать не получится:





dogs=4

if dogs == 3:

print('Dogs are beautiful')

if dogs > 6: #Ошибка! Используйте elif

print('OK')

else:

dogs=6

print(dogs)







Можно делать вложенные инструкции :P:





cats=5

if cats < 7:

print('And')

if cats == 6:

print('Cats!!!')

else:

print('Funny cats were lost')

else:

cats=3




Будьте аккуратнее с пробелами — каждый новый уровень, 4 новых пробела. Да, в том же Java блоки помечаются { и }. Но отступы все равно чаще всего делают, хотя они никак не влияют на процесс выполнения программы — это делают только ради чистоты и читаемости кода.





Домашнее задание

1. Напишите 5 сложных выражений (использовать or и and)


2. Напишите скрипт, который спрашивает у пользователя какие либо данные. Если они совпадают (допустим, с переменной b), то выведите ему сообщение, что он прошел тест. Иначе, напишите, что он не прошел его.


3. Напишите скрипт, где используются вложенные условия, а в условиях есть операторы or или end.





-----Предыдущий урок----- -----Следующий урок -----