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

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


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



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


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



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...



Здоров, потерялся я тут немного со своими лекциями, однако збс, что этого никто не заметил.

Сегодня поговорим о важнецкой теме. Вот такой важной, шо аж ваще. Без  нее дела не будет. Крест на пузе- дела не будет!!

Сегодня мы поговорим о операторах разветвления. Ага. Разветвление-это вам не математика- тут придется думать!

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

Значит так. Представляем теперь, что ваша тушка стоит напротив светофора. Если горит зеленый- идем, если красный- стоим и вертим башней, наслаждаясь природой.

Это самый яркий пример разветвления в нашей скучной, серой жизни. Ключевое слово тут-ЕСЛИ. Иными словами есть условие, и ЕСЛИ оно исполнено- наступает действие.

В питоне тоже есть свои ЕСЛИ, которые назвали в честь слова бусурманского if (если. пинд.яз)

Выглядит это так


if условие :

инструкция


Итак, первая строка- это условие, при исполнении которого наш интерпретатор переходит к второй строке. После первой строки стоит двоеточие - важно это не забыть!

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

А вот вам пока мелкий примерчик. Программка принимает число, если число отрицательное- выводим его положительный эквивалент. Если положительное- не делаем ничего.

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

Теперь разбор построчно. Первая строка- переменная x начинает указывать на значение равное введенному нами параметру в целочисленном формате.

вторая строка. проверяем соответствует ли наш х условию. Если значение в скобках истинно - интерпретатор заходит в раздел "инструкция" и исполняет его. Если нет он его перепрыгивает и сразу переходит к инструкции print.


Сумрачный гений не остановился на одном ифе и выдумал еще одну полезную штукенцию, которою зовут ЭЛСЭ. else (иначе. пинд.яз). В питоне выглядит так


if условие :

инструкция

else:

инструкция


Работает схема очень похоже на if, но с одним нюансом. Если условия исполнено- переходим к инструкции if. В противном случае переходим к инструкции else-

Создаем пример программы, которая продает билеты в кино. Для детей до 7 лет и пожилых людей (свыше 65 лет)- вход три рубля. Остальным - пять рублей.

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

И последний зверь в нашем зоопарке зовется elif. Это как внебрачная дочь else и if.

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

ээээээээммммммммм....во! автомат продает разноцветные жвачки, которые по разному стоят.

Говнокодим же ниже!

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

выглядит как говно. Слишком много условий в условиях. Именно для таких случаев и изобрели elif.

Выглядет это дело так


if условие :

инструкция

elif:

инструкция

elif:

инструкция

elif:

инструкция


Пока все выглядит не очень понятно. Но когда я модифицирую программку выше, все станет понятней. Смотрим

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

Как минимум выглядит не так страшно и более логично. Разбор построчно.

Бублэ принимает строку.  Это понятно.

Первый иф- проверка условия, если условие истинно- пишем цену в рубль. Конец программы. Если не истенно - идем к строке elif ИНАЧЕЕСЛИ. Если и это условие условие не выполнено- идем к следующему и так далее.

последний else- это так званная "защита от дурака". Ведь кто знает что введет пользователь. Да мы и сами знаем какое слово из трех букв  вы введете туда однажды. Для таких случаев и работает последняя строка.

На сегодня мои полномочия все. Монолог окончен

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

Всегда пожалуйста. Это наверное всё, чем я могу тебе помочь =( Но, тоже немножко побуду милотой ^.^

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Бля) поржал!!
показать ответы
Автор поста оценил этот комментарий

Мощно =) Ну, что же, желаю тебе удачи и успехов в этом деле =) Буду держать за тебя кулаки :)

В информатике я всего лишь бакалавр

Ничёсе, всего лишь :D

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Спасибо, дружище)
показать ответы
Автор поста оценил этот комментарий
кандидатскую пишу
Ого! =) По какой теме? Куды метишь? =)
короч, ты имеешь ввиду endif скорее всего

Угу, оно самое :) Там вроде того :

if условие then

    что-то происходит

end

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Не угадаешь)

В юристы. "Трансграничное сотрудничество полиции ЕС"

В информатике я всего лишь бакалавр

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

Здоров, дружище! Я тут беспокойный был, куда ты запропастился? Спасибо за лекцию :)

По сабжу: в питончике if не должно завершаться end?


это вам не математика- тут придется думать!

Чёт я орнул :D

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Здарова)) дык я это..кандидатскую пишу..мать ее за ногу!

Иногда время не хватает для посиделок на пикабу


короч, ты имеешь ввиду endif скорее всего

- это из раздел PHP и прочих С подобных языков 

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

Содержание этого поста описывает то, что обычно находится на первых страницах любой книги по питону. Или вообще любой книги по любому языку программирования.
UPD:

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

Если бы большинство редакторов и сред разработки не меняли табы на пробелы, тебя бы следовало расстрелять.
А вообще - всё, что есть по оформлению кода, есть в PEP8. На что также указывается в любой книге по питону.

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

да ну? А ты думал, что в каждой книге свой питон?


Кроме того- это уже лекция 20-я где то. Что же я тут пишу тогда уже 20 постов, если это все на первых страницах есть? Например на прошлых лекциях я о дискретной математике писал, на ранних лекциях о бинарном коде. Я вот не встречал много книг о питоне, где о этом так рассказано. Открой первую лекцию- если ты найдешь такое же точно объяснение о объектах в одной из книг- я пост запилю о том, что ты пиздат как бог.

По pep8 - я тут для бабушек объясняю. Их это испугает до усрачки. Поэтому пытаюсь объяснить как могу. У меня Pep8 запланирован аж на хз когда.

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

Я старался :D Ток не подумай, что я - тролль. Прост у меня с чувством юмора беда :(

раскрыть ветку (1)
Автор поста оценил этот комментарий
да норм, я твои повадки уже изучил) Ща только айпи остался..
1
Автор поста оценил этот комментарий

ты шутишь, твои "лекции" выходят раз в год , уже 9.1 "if else" , к новому году году глдяи твои ученики смогут написать функцию

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
мои лекции выходят обычно несколько раз в неделю. И учеников у меня нет. Я  тут никого ничему не учу. я тут шпаргалки пишу для тех, кто учит это дело без меня. Это выше написано большими черными буквами кириллицей на православно русском языке. И  я о этом говорил уже много раз.
Автор поста оценил этот комментарий

А можно чуууть-чуть прикольных заданий, что б хотя бы понять, о чем речь?)

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
зайди на самую первую лекцию. Там одни из легких но интересных. Первый- с картинкой на рекурсию
Автор поста оценил этот комментарий

о, я как раз метаюсь между программистом и безопасником.

но тут не может быть советов(

а можете по безопасности книг посоветовать?

а то почитал "мифы" Лукацкого- либо правовой аспект, либо мифы в стиле "на самом деле абсолютно защищенную систему создать нельзя"

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
ну смотри..это не так просто. Лучше стань прогером (мое мнение).

У меня лично длинный путь был. Сначала Академия МВД- на факультете расследований ИТ преступлений - а это 4 года курсантом в сапогах, потом практическая работа по специальности. Потом технический университет Бранденбурга(бакалаврат)+Юрфак еще одного немецкого универа по специальности "уголовное право". Это серьезное образование для серьезной работы. Поэтому, мое мнение, серьезным программистом стать легче, чем серьезным безопасником (который тоже должен знать программирование)

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

А что-нибудь посложнее есть? Просто тут явно самые основы, а на немецком наверняка какие-нибудь уж вкусняхи завалялись)

раскрыть ветку (1)
2
Автор поста оценил этот комментарий
есть вкусняхи в виде прикольных заданий. Я и сам уже заипался рассказывать основы, но жопаделаешь. Буду рассказывать с нуля раз уж начал.
показать ответы
1
Автор поста оценил этот комментарий
Спасибо за очень полезный и своевременный для меня пост!
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
всегда рад )
Автор поста оценил этот комментарий

а ты вебом занимаешься? или какое у тебя направление?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
моя специализация - расследование преступлений в сфере ИТ.

где работаю не скажу. Но раньше работал следователем в МВД по вышеуказанному направлению

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

а можешь расписать, что нужно выучить, чтобы стать бекэндером? с джанго

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
питон не основной мой язык так что хз.

Если что- посмотри в сторону пхп.

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

Гляну. А ссылки в посте почини, они ведут в 404-е царство.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
понял. спасибо) исправлюсь
показать ответы
1
Автор поста оценил этот комментарий

какой в этом смысл? ты делаешь слишком большие промежутки
все твои 9 постов можно пройти , запомнить и усвоить за 2 часа на codecademy

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

Смысла нет- мне просто в кайф.

Если ты за 2 часа с нуля поймешь то, что я тут пишу в 20 постах, включая теорию дискретной математики, которую я давал недавно- ну ты гений, дружище)

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

Суть претензии не в этом. https://pythonworld.ru/osnovy/pep-8-rukovodstvo-po-napisaniy...
Да, я немножко зануда, но если уж учишься работать с питоном - было бы неплохо с самого начала придрочиться на четырёхкратное жмаканье пробела.

раскрыть ветку (1)
Автор поста оценил этот комментарий
Кстати, я согласен. Это мой промах. В следующей лекции дам ссылку на твой коммент