Пример построения графика на Python с помощью библиотеки matplotlib

Совсем коротенькая шпаргалка про построение графиков на питоне, своего рода шаблон, который будет у меня в быстром доступе. Используется библиотека matplotlib, которая реализует все или почти все функции для построения графиков в стиле MatLab. Названия функций и аргументы очень похожи, но все же это Python, синтаксис тут гораздо приятнее, чем в матлабе.

Функция которую будем изображать

Для любого двумерного графика нужны точки, вектор значений X и вектор Y, значений прошедших через функцию. В зависимости от задачи это может быть сложнейшая математическая модель, либо, как в моем случае, простейшая функция.

Да, будем строить параболу! Для демонстрации вполне достаточно.

читать далее «Пример построения графика на Python с помощью библиотеки matplotlib»

Реализация и криптоанализ шифра простой замены

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

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

Прежде чем продолжить чтение, обратите внимание на реализации других шифров

Шифр простой замены

Поиграю немного в википедию и вкратце обрисую суть шифрования. Каждый символ открытого текста должен быть заменен на соответствующий ему символ из специальной таблицы. Я буду рассматривать случай, когда символы алфавита заменяются на символы из этого же алфавита, но в произвольном порядке. Грубо говоря, ключом шифрования будет служить перемешанный алфавит.

Пример шифрования

читать далее «Реализация и криптоанализ шифра простой замены»

Быстрая шпаргалка: «inconsistent use of tabs and spaces in indentation» в Python

Сидел на днях, разбирал программу на Python, любезно предоставленную одним моим товарищем, и первый раз в жизни столкнулся с такой ошибкой: «inconsistent use of tabs and spaces in indentation». Маркер дебагера упорно показывал в конец строки вывода, которую я дописал. Так как истинные программисты не гуглят сразу, а бьются над решением сами(шутка, только я такой), я начал грешить на себя. Мол совсем старый дурак разучился принты писать.

Но тут я решил учесть одну особенность — я открыл исходный код обычным двойным нажатием дабы очень быстро, не заморачиваясь ни о чем добавить вывод. Естественно, исходный код открылся в gedit. Я открыл его через Sublime Text и свершилось чудо, все сработало.

Дело вот в чем

читать далее «Быстрая шпаргалка: «inconsistent use of tabs and spaces in indentation» в Python»

Реализация и криптоанализ шифра гаммирования

Представляю вам очередную вылазку в мир криптографии. На этот раз в роли жертвы выступает шифр гаммирования. Он не из легких, но поддался явно легче, чем перестановочный. Хотя идея самого шифра мне кажется гораздо проще — всего одна операция и никаких премудростей. Шифровать данные этим алгоритмом очень просто, но давайте посмотрим, просто ли будет его взломать?

Прежде чем продолжить чтение, обратите внимание на реализации других шифров

Шифр гаммирования

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

читать далее «Реализация и криптоанализ шифра гаммирования»

Чтение веб-страницы с помощью Python

Доброго времени суток! Для начала у меня появился вот такой вопросик. Можно ли считать программную обработку содержимого html старничек веб-программированием? Вроде в вебе работаем, имеем дело с сетевыми протоколами и все такое. Кто точно знает ответ на этот вопрос, поделитесь в комментариях, я буду признателен.

Но перейдем к делу. Недавно в университете нам выдали интересное задание, связанное с чтением веб-страниц с помощью Pythonна. Научитесь, говорят, считывать страницы. Насколько я знаю, это весьма нетривиальная задача для решения на C/C++. Но чего только нет в стандартной библиотеке Python. Оказывается, существует специальный модуль urllib для работы с урлами. Замечательно! Даже искать не пришлось. Пара слов о том, какие функции мне понадобились из этого модуля.

Как прочитать веб-страницу с помощью Python

читать далее "Чтение веб-страницы с помощью Python"