Программирование Python по моим конспектам Лекция 9

Пост можно топить, минусить и всячески убивать, ибо в горячем он нахер не нужен, а вот подписчикам пригодится.



Для тех кто не в теме, тут я перевожу свои лекции по питону с языка немецкого на язык человеческий, поэтому- если что- я не виноват. Эти лекции созданы не для того, чтобы сделать из человека говнокодера, а для того, чтобы помочь в сложных темах, которые некому объяснить, а книга по программированию не может с этим помочь. Если вы никогда не были в такой ситуации- значит вы вундеркинд и я хочу от вас детей.


Исправления и замечания приветствуются.



Список предыдущих лекций


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...


http://pikabu.ru/story/programmirovanie_python_po_moim_konsp...



Здоров.

Сегодня хотелось бы начать с того, на что все забивают. Но знать надо. Ну вот так надо, что аж жуть. Начнем мы говорить о таком чудном явлении природы как дискретная математика, а именно о ее разделе, касаемо Булевой алгебры. Постараюсь все это втиснуть сюда, хоть и криво, но хоть так


Представьте себе, что в мире есть только истина и ложь. Без них не будет дискретной алгебры. Иначе говоря- булева алгебра это лист бумаги- с одной стороны он черный- это ложь, А с другой белый- это истина. А могут ли две стороны листа существовать друг без друга- а вот куюшки).

Ну а теперь копнем дальше. Возьмем, к примеру, утверждение, что хорошая погода, и скажем,

что это истина, мало того- мы еще скажем, что буква А значит "хорошая погда", и она истинна.

А еще возьмем букву В и скажем, что она несет в себе смысл "погода плохая". Или же ложь.

А теперь мы все это попробуем объединить в одну строчку. Может ли быть погода одновременно хорошей и плохой? Может ли одновременно результат истины и лжи быть истиной? Для ответа на эти и другие вопросы  существуют законы товарища Буля.


А теперь попробуем сказать в формате булевой алгебры

"хорошая погода" и " плохая погода"

вместо буквы и у нас есть знак ∧ (иногда * или точка)

и выглядит это так  A ∧B . А теперь смотрим на так званную таблицу истинности ниже.

Она говорит "если погода хорошая и погода хорошая, то погода хорошая"

Если погода хорошая и погода плохая то погода плохая

если погода плохая и погода хорошая то погода плохая

если погода плохая и погода плохая то погода плохая.


Или же если утверждение истина и другое истина то все утверждение истинно и тд

Программирование Python по моим конспектам Лекция 9 Питон, Программирование, Языки программирования, Длиннопост

все тоже самое, но меняем и на или , который обозначается либо плюсом, либо таким

знаком ∨


если а истинно или В истинно то утверждение истинно

и тд

Программирование Python по моим конспектам Лекция 9 Питон, Программирование, Языки программирования, Длиннопост

А еще есть такая штука как отрицание. Делает из истины ложь или из ложи истину. Изображается палкой, например так _ или так - или полоска над буквой или выражением

Программирование Python по моим конспектам Лекция 9 Питон, Программирование, Языки программирования, Длиннопост

Вот так это работает.

Но и это еще не все. Товарищ Буль развил все это до целых законов, которые вы будете использовать в программировании. Их гораздо больше, но начнем с этих

Программирование Python по моим конспектам Лекция 9 Питон, Программирование, Языки программирования, Длиннопост

Питон перенял это дело, а операторы использует следующие

Программирование Python по моим конспектам Лекция 9 Питон, Программирование, Языки программирования, Длиннопост

А теперь смотрите как работает, к примеру это все дело в программировании. В частности в питоне. Смотрим на закон поглощения. Он в таблице первый

Программирование Python по моим конспектам Лекция 9 Питон, Программирование, Языки программирования, Длиннопост

Дальше можете сами экспериментировать .

А я это здесь оставлю для примера

Программирование Python по моим конспектам Лекция 9 Питон, Программирование, Языки программирования, Длиннопост

Ну это все присказка, а сказка впереди.

Теперь мы будем  учиться сравнивать. Сравнивать все что угодно. Да, даже это, хотя у пикабушников оно всегда 49,5.


Давайте подумаем что есть сравнение двух чисел. Это есть не это, а два числа, между которыми есть знак больше\меньше\ .


В питоне есть такая крутая возможность, как сравнивание двух обьектов разных типов. В данном случае идет речь о числовых обьектах. К Примеру можно сравнять инт и флоат.


А вот число со строкой вы не сравняете, ибо это как сравнять пикабушника и дух коммунизма..


Ну дабы не говорить много, я тут скопипастил тибличку

Программирование Python по моим конспектам Лекция 9 Питон, Программирование, Языки программирования, Длиннопост
Программирование Python по моим конспектам Лекция 9 Питон, Программирование, Языки программирования, Длиннопост
ну и операторы тождественности, куда же без них
Программирование Python по моим конспектам Лекция 9 Питон, Программирование, Языки программирования, Длиннопост

Ну а теперь потренируемся на кошках.

Программирование Python по моим конспектам Лекция 9 Питон, Программирование, Языки программирования, Длиннопост

Вот вам последний пример A имеет индекс 65, а маленькая буква а имеет индекс 97, значит она больше чем большая А

Программирование Python по моим конспектам Лекция 9 Питон, Программирование, Языки программирования, Длиннопост

Ну а теперь поговорим о операторе is. Все мы помним такую чудную вещь как id обьектов, и все мы знаем в каких случаях у нескольких объектов одинаковый айди. С помощью оператора is мы можем определить указывают ли имена нескольких переменных на один айди.

Не путайте никогда этот оператор с оператором тождественности ==. Иначе..как всегда..айпи..звонок в дверь..больница с переломами.

Оператор is not делает противоположное.

Программирование Python по моим конспектам Лекция 9 Питон, Программирование, Языки программирования, Длиннопост

А сейчас смотрим на очередной финт ушами.

Все мы помним, что

у двух одинаковых объектов - одинаковые ид. А вот смотрите сюды и удивляйтесь.

Программирование Python по моим конспектам Лекция 9 Питон, Программирование, Языки программирования, Длиннопост

Когда мы создаем списки, у них уже разные ид, даже если у них одинаковое содержимое.


Принадлежность к множеству

Допустим, мы настолько популярны, шо аж ухи заворачиваются. И у нас столько друзей, что всех хрен вспомнишь. И тут щимится к нам в дверь тело и говорит человеческим голосом- я Вася, я твой друг. А вы ваще хз, что за Вася, И решаете проверить в множестве имен ваших друзей, есть ли там такой. Для этого есть оператор in

Программирование Python по моим конспектам Лекция 9 Питон, Программирование, Языки программирования, Длиннопост
Автор поста оценил этот комментарий

Просто спасибо тебе.

Автор поста оценил этот комментарий

Питон 2.7 или 3.0? или просто общие знания

раскрыть ветку
1
Автор поста оценил этот комментарий

Уууооооуу! Здоров! Спасибо за урок =) Дискретная математика :D Уря-уря!

З.Ы. Как лапа? Зажила уже? :)

З.З.Ы. Это ты от скуки себя по айпи вычислил и самосломался? :D

раскрыть ветку