Деление с остатком преподнесло сюрприз

Деление с остатком – часто используемая операция в программировании. Начиная от классических заданий для начинающих на вычисление минут и секунд: Заканчивая тем, что на остатках построена львиная доля криптографии. Нахождения остатка часто называют modulo (или коротко mod).  При делении a на b неполное частное q и остаток r связаны формулой: a = b · q…

exit и компания

У каждого, наверное, было: пишешь в интерпретаторе exit, а он: Что же такое exit? Оказывается это такой класс, а текст — это всего лишь его repr: А еще есть quit – он тоже из этой семьи: Что же приходит при вывозе такого класса? Просто бросается исключение SystemExit, которое, между прочим, можно поймать. Попробуйте: Есть еще…

​​Сортировка пузырьком

Сегодня простая, но важная тема. Алгоритм сортировки пузырьком, его проходят на курсах, его часто спрашивают на собеседованиях. Сортировка — это процесс выстраивания массива или списка по возрастанию или убыванию. На примере чисел: [3, 1, 4, 2] → [1, 2, 3, 4]. Смысл пузырьковой сортировки заключается в следующем: мы начинаем с начала списка и сравниваем элементы…

Удаление ключа из словаря

Словарь (dict) – изменяемый тип в Python. Из словаря можно легко удалить ключ оператором del: Что если ключа не окажется в словаре? Ответ: исключение – KeyError: Конечно, можно сделать так: Или даже так: Однако, есть способ удалить ключ (которого возможно нет) в одну строчку: Обратите внимание, что второй аргумент None обязателен. Кроме того, метод pop…

Генерируем Bitcoin-адрес на Python

Тема криптовалют снова начинает будоражить интернет. Супер, что вам не надо идти в отделение банка с паспортом и выстаивать очередь, чтобы открыть счет. Сгенерировать кошелек Bitcoin — дело нескольких строк кода на Python. Нам понадобятся библиотеки base58 и ecdsa. base58 – это кодирование бинарных данных 58-ю печатными символами (цифрами и латинскими буквами, кроме 0, O,…