Python – один из наиболее популярных языков программирования общего назначения. Позволяет создавать не только мелкие приложения, но и сложные утилиты. Прост в освоении, за счет чего идеально подходит новичкам.
В приложениях часто приходится работать с числами, включая случайные значения. Их не только обрабатывают, но и генерируют. В данной статье речь зайдет о модуле под названием Random в Python.
Смысл неизвестного
Случайное число – это произвольная величина, которая возникает при воздействии специального приложения автоматического направления устройства. Данный процесс получил широкое распространение в программировании, особенно там, где нужно сотрудничать с неповторимыми значениями, сложными для предсказания.
Пример – это слоты в азартной деятельности и криптопароли, необходимые для защиты электронной информации, включая конфиденциальную.
Программа изначально не может создавать случайный элемент или значение. Последовательности будут опираться на рандомном определении. В основе заложено некое число. Во время инициализации последовательности с его участием несколько раз подряд, на выходе получаются одинаковые итоги. Чтобы получить объективную работу, приходится задействовать показатель часов системы.
Необходимо запомнить, что:
- При повторном запуске утилиты можно получить random число.
- Время на обработку еще одного запроса будет возрастать.
- Соответствующее явление базируется на том, что для получения нового числа нужно затратить больше времени.
Все это помогает разрешить генерация случайных чисел, базирующаяся на системных часах. Так удается достичь предельной оптимизации.
Реализация в Python
Для грамотной и слаженной работы системы в Питоне присутствуют разного рода модули. Они помогают обнаруживать random компоненты и величины. Чаще всего для получения результата приходится использовать текущее системное время, инициализированное на задействованном устройстве.
При обращении к генератору с применением соответствующей переменной можно получать новые значения типа random. Главный инструмент здесь – это многосоставная библиотека. Она носит название Random. Также используются модули и функции numpy.random и os.urandom.
Особенности
При применении рандома необходимо помнить о некоторых нюансах реализации в Python. К ним относят:
- стандартный рандом в ЯП включает в себя огромное количество генерации целых и вещественных показателей, последовательностей с четко прописанными параметрами;
- для заполнения промежутка рандомными элементами требуется задействовать функцию numpy.random;
- функция os.urandom помогает формировать набор случайных байтов;
- последний вариант чаще всего встречается при криптографии.
При обработке псевдослучайных чисел огромную роль играет присутствие в модуле random специального класса под названием SystemRandom. Процессы, которые творятся в его пределах, обращаются к функции os.urandom. Этот генератор имеет аналогичный функционал, но для криптографии он подходит лучше.
О модуле Random
В языке программирования Python модуль Random предусматривает методы, которые предназначаются для тех или иных действий. Чтобы с ним работать, стоит рассмотреть стандартную библиотеку рандома.
Она включает в себя следующие параметры:
- random() – возврат числа в значения между 0 и 1;
- seed (a) – настройка генератора на новую последовательность a;
- uniform (a, b) – возврат вещественного числа в промежуток между a и b;
- randrange (a, b, c) – возврат значения в диапазон данных от a до b с шагом c;
- randint – возвращение значения в установленный диапазон;
- shuffle (a) – миксация параметра из перечня a;
- sample (a, b) – возвращение на исходную позицию последовательности длиной b из списка a;
- choice (a) – восстановление обратно случайного элемента из заданного списка;
- getstate () – обновляет внутреннее состояние генератора;
- setstate (a) – восстановление внутреннего состояния заданного генератора;
- getrandbits (a) – восстановление a при обработке процедуры случайного генерирования бит;
- triangular (a, b, c) – отображение изначального значения числа от a до b с заданным шагом c.
Для случайной псевдопоследовательности предстоит задействовать функцию seed. Ее вызов без применения параметра позволяет использовать системный таймер. Соответствующая операция предоставляется только в конструкторе класса Random.
Генерация в примерах
Перед тем, как рассматривать наглядные примеры, которые помогут разобраться в том, что собой представляет рандом в Питоне, нужно провести инициализацию упомянутой библиотеки. Для этого необходимо выполнить команду import random.
Вещественные
У модуля есть одноименная функция random, которая чаще всего применяется в Питоне. Она возвращает число в промежуток 0-1.
Выше – наглядный пример реализации кодификации.
Целое
Случайное целое число появляется из конкретного диапазона. Для этого требуется использовать функцию randit. У нее несколько аргументов:
Предложенный пример работы со случайными элементами помогает обнаружить разные компоненты в пределах от 0 до 9 включительно.
Диапазон целых
Иногда требуется задать целый диапазон целых. Для этого применяется randrange. Он рандомно генерирует параметры за счет выставленных настроек:
Здесь случайная генерация – это вызов функции с одним требованием. Граница устанавливается на 0, промежуток – на 1. Для двух аргументов длина шага будет автоматически рассчитываться. Программа работает на основе трех заданных наборов.
Диапазон вещественных
Число с плавающей запятой встречается часто и генерируется оно обычно случайным образом. Можно задать их диапазон в рассматриваемой библиотеке. Получение таких чисел в Python осуществляется через uniform. У этой функции random всего два параметра – минимум и максимум.
Выше – приложение, которое демонстрирует процесс с переменными a и b.
В генераторе
Рандом может пригодиться при выводе псевдослучайных параметров. Этот прием способствует созданию некой последовательности. Для реализации задачи нужно воспользоваться randit.
Это – пример, который позволяет создать генератор списка со случайно заданными элементами и длиной.
Перемешивание
Метод Shuffle при работе из библиотеки random помогает осуществлять перемешивание компонентов. Актуально для ранее созданных списком. Все его компоненты распределяются совершенно случайно.
В виде программного кода соответствующее приложение будет иметь такой вид.
Случайный компонент
Choice 0 функция из Random, которая случайным образом выводит элемент из набора данных. Иногда соответствующая операция нужна даже в простейших утилитах.
Тут b приобретает определенное целое значение из списка под названием a.
Несколько из списка
Рассматривая random, стоит помнить – иногда возникает необходимость выборки нескольких компонентов из определенного заранее списка случайным образом. Тут помогает функция sample. Первый аргумент – это исходная последовательность. Второй – длина нового массива.
Вот – наглядный пример соответствующей утилиты и полученного в ходе обработки кодификации информации.
Буквы
Когда программер хорошо разобрался в print, i in range, for i in и иных ключевых функциях языка, а также выучил принцип работы с числами и их случайной генерацией, можно рассмотреть аналогичную операцию с буквами.
Для реализации требуется провести импортирование модуля string, а затем – задействовать список letters. Он отвечает за отображение английского алфавита.
SystemRandom
Эта возможность базируется на os.urandom. Позволяет создавать псевдослучайные параметры, которые будут находиться в полной зависимости от дополнительных данных операционной системы. Способствует стабильной работе в криптографии. Единственный существенный минус SystemRandom – это относительно медленная работа.
А вот – пример того, как будет выглядеть соответствующее приложение.
Быстро освоить Питон, а также разобраться с генерацией случайных значений и списков помогут специализированные компьютерные курсы, ориентированные на широкую публику. Программа составлена так, что с ней справится даже новичок. В конце выдается сертификат установленного образца.
<!DOCTYPE html>
<html dir="ltr" lang="ru-RU">
<head>
<meta charset="UTF-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="profile" href="http://gmpg.org/xfn/11" />
<title>Случайные числа в Питоне OTUS</title>
<!-- All in One SEO 4.5.2.1 - aioseo.com -->
<meta name="description" content="Python – один из наиболее популярных языков программирования общего назначения. Позволяет создавать не только мелкие приложения, но и сложные утилиты. Прост в освоении, за счет чего идеально подходит новичкам. В приложениях часто приходится работать с числами, включая случайные значения. Их не только обрабатывают, но и генерируют. В данной статье речь зайдет о модуле под названием" />
<meta name="robots" content="max-image-preview:large" />
<link rel="canonical" href="https://otus.ru/journal/sluchajnye-chisla-v-pitone/" />
<meta name="generator" content="All in One SEO (AIOSEO) 4.5.2.1" />
<script type="application/ld+json" class="aioseo-schema">
{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/otus.ru\/journal\/sluchajnye-chisla-v-pitone\/#article","name":"\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0432 \u041f\u0438\u0442\u043e\u043d\u0435 OTUS","headline":"\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0432 \u041f\u0438\u0442\u043e\u043d\u0435","author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2022\/06\/oj-1080x72011-1.png","width":1080,"height":720},"datePublished":"2022-06-08T18:35:04+00:00","dateModified":"2022-06-08T18:35:05+00:00","inLanguage":"ru-RU","mainEntityOfPage":{"@id":"https:\/\/otus.ru\/journal\/sluchajnye-chisla-v-pitone\/#webpage"},"isPartOf":{"@id":"https:\/\/otus.ru\/journal\/sluchajnye-chisla-v-pitone\/#webpage"},"articleSection":"\u041f\u043e\u043b\u0435\u0437\u043d\u043e\u0435, Python"},{"@type":"BreadcrumbList","@id":"https:\/\/otus.ru\/journal\/sluchajnye-chisla-v-pitone\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/#listItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/otus.ru\/journal\/","nextItem":"https:\/\/otus.ru\/journal\/sluchajnye-chisla-v-pitone\/#listItem"},{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/sluchajnye-chisla-v-pitone\/#listItem","position":2,"name":"\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0432 \u041f\u0438\u0442\u043e\u043d\u0435","previousItem":"https:\/\/otus.ru\/journal\/#listItem"}]},{"@type":"Organization","@id":"https:\/\/otus.ru\/journal\/#organization","name":"\u041e\u0442\u0443\u0441 \u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435","url":"https:\/\/otus.ru\/journal\/","sameAs":["https:\/\/www.youtube.com\/channel\/UCetgtvy93o3i3CvyGXKFU3g"],"contactPoint":{"@type":"ContactPoint","telephone":"+74999389202","contactType":"Customer Support"}},{"@type":"Person","@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author","url":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/","name":"A. Pavlenko","image":{"@type":"ImageObject","@id":"https:\/\/otus.ru\/journal\/sluchajnye-chisla-v-pitone\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/d4c499a104d7c2522fa41f89e6819499?s=96&d=mm&r=g","width":96,"height":96,"caption":"A. Pavlenko"}},{"@type":"WebPage","@id":"https:\/\/otus.ru\/journal\/sluchajnye-chisla-v-pitone\/#webpage","url":"https:\/\/otus.ru\/journal\/sluchajnye-chisla-v-pitone\/","name":"\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0432 \u041f\u0438\u0442\u043e\u043d\u0435 OTUS","description":"Python \u2013 \u043e\u0434\u0438\u043d \u0438\u0437 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u0449\u0435\u0433\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u043b\u043a\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043d\u043e \u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b. \u041f\u0440\u043e\u0441\u0442 \u0432 \u043e\u0441\u0432\u043e\u0435\u043d\u0438\u0438, \u0437\u0430 \u0441\u0447\u0435\u0442 \u0447\u0435\u0433\u043e \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043d\u043e\u0432\u0438\u0447\u043a\u0430\u043c. \u0412 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u0447\u0430\u0441\u0442\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0447\u0438\u0441\u043b\u0430\u043c\u0438, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0418\u0445 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442, \u043d\u043e \u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0435\u0447\u044c \u0437\u0430\u0439\u0434\u0435\u0442 \u043e \u043c\u043e\u0434\u0443\u043b\u0435 \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c","inLanguage":"ru-RU","isPartOf":{"@id":"https:\/\/otus.ru\/journal\/#website"},"breadcrumb":{"@id":"https:\/\/otus.ru\/journal\/sluchajnye-chisla-v-pitone\/#breadcrumblist"},"author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"creator":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2022\/06\/oj-1080x72011-1.png","@id":"https:\/\/otus.ru\/journal\/sluchajnye-chisla-v-pitone\/#mainImage","width":1080,"height":720},"primaryImageOfPage":{"@id":"https:\/\/otus.ru\/journal\/sluchajnye-chisla-v-pitone\/#mainImage"},"datePublished":"2022-06-08T18:35:04+00:00","dateModified":"2022-06-08T18:35:05+00:00"},{"@type":"WebSite","@id":"https:\/\/otus.ru\/journal\/#website","url":"https:\/\/otus.ru\/journal\/","name":"OTUS JOURNAL","description":"Blog about IT","inLanguage":"ru-RU","publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"}}]}
</script>
<!-- All in One SEO -->
<link rel='dns-prefetch' href='//otus.ru' />
<link rel='dns-prefetch' href='//fonts.googleapis.com' />
<link rel='stylesheet' id='wp-block-library-css' href='https://otus.ru/journal/wp-includes/css/dist/block-library/style.min.css?ver=6.4.7' type='text/css' media='all' />
<style id='classic-theme-styles-inline-css' type='text/css'>
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
</style>
<style id='global-styles-inline-css' type='text/css'>
body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}
:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}
</style>
<link rel='stylesheet' id='wbcr-comments-plus-url-span-css' href='https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/css/url-span.css?ver=2.2.0' type='text/css' media='all' />
<link rel='stylesheet' id='wpel-style-css' href='https://otus.ru/journal/wp-content/plugins/wp-external-links/public/css/wpel.css?ver=2.59' type='text/css' media='all' />
<link rel='stylesheet' id='ez-toc-css' href='https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/css/screen.min.css?ver=2.0.61' type='text/css' media='all' />
<style id='ez-toc-inline-css' type='text/css'>
div#ez-toc-container .ez-toc-title {font-size: 120%;}div#ez-toc-container .ez-toc-title {font-weight: 500;}div#ez-toc-container ul li {font-size: 95%;}div#ez-toc-container nav ul ul li {font-size: 90%;}
.ez-toc-container-direction {direction: ltr;}.ez-toc-counter ul{counter-reset: item ;}.ez-toc-counter nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }.ez-toc-widget-direction {direction: ltr;}.ez-toc-widget-container ul{counter-reset: item ;}.ez-toc-widget-container nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }
</style>
<link rel='stylesheet' id='contentberg-fonts-css' href='https://fonts.googleapis.com/css?family=Roboto%3A400%2C500%2C700%7CPT+Serif%3A400%2C400i%2C600%7CIBM+Plex+Serif%3A500' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-core-css' href='https://otus.ru/journal/wp-content/themes/contentberg/style.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-lightbox-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/lightbox.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='font-awesome-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/fontawesome/css/font-awesome.min.css?ver=1.8.3' type='text/css' media='all' />
<script type="text/javascript" id="breeze-prefetch-js-extra">
/* <![CDATA[ */
var breeze_prefetch = {"local_url":"https:\/\/otus.ru\/journal","ignore_remote_prefetch":"1","ignore_list":["\/wp-admin\/"]};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js" id="breeze-prefetch-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery-migrate.min.js" id="jquery-migrate-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/lazysizes.js" id="lazysizes-js"></script>
<link rel="https://api.w.org/" href="https://otus.ru/journal/wp-json/" /><link rel="alternate" type="application/json" href="https://otus.ru/journal/wp-json/wp/v2/posts/3724" /><link rel='shortlink' href='https://otus.ru/journal/?p=3724' />
<link rel="alternate" type="application/json+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fsluchajnye-chisla-v-pitone%2F" />
<link rel="alternate" type="text/xml+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fsluchajnye-chisla-v-pitone%2F&format=xml" />
<script>var Sphere_Plugin = {"ajaxurl":"https:\/\/otus.ru\/journal\/wp-admin\/admin-ajax.php"};</script><link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-32x32.png" sizes="32x32" />
<link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-192x192.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-180x180.png" />
<meta name="msapplication-TileImage" content="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-270x270.png" />
<style type="text/css" id="wp-custom-css">
#menu-item-10406 .wpel-icon {
display: none;
}
#menu-item-10407 .wpel-icon {
display: none;
}
.otus-login-site a .wpel-icon {
display: none;
}
.menu-menju-navykov-container a .wpel-icon {
display: none;
}
.otus-login-site a
{
background: #ffd709;
border-radius: 12px;
color: #0f0f10;
font-size: 14px;
font-weight: 700;
line-height: 20px;
display: block;
text-align: center;
padding: 8px 25px;
}
.main-footer.dark {
background: linear-gradient(90deg, #a64fc5, #4f54e6);
border-color: transparent;
}
.main-footer.bold .copyright {
color: #fff;
}
.main-footer.bold .to-top i {
color: #fff;
}
.main-footer.bold .back-to-top {
color: #fff;
}
.nav__scroll {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.scrollable-menu .menu {
display: flex;
}
.nav__scroll
{
background: linear-gradient(90deg, #a64fc5, #4f54e6);
}
.scrollable-menu .menu .menu-item {
flex: 0 0 auto;
padding: 15px 15px;
}
.scrollable-menu .menu .menu-item a {
color: #fff;
}
.nav__scroll::-webkit-scrollbar{background-color:#fff;height:5px;}
.nav__scroll::-webkit-scrollbar-thumb{background-color:#dcdcdc;}
.nav__scroll::-webkit-scrollbar-track{-webkit-border-radius:0;border-radius:0;background-color:#fff;}/
body {
min-width: 320px;
}
.banner-click img {
margin: 0 auto;
display: block;
}
.banner-click {
cursor: pointer;
}
.banner-footer-area {
margin-bottom: 20px;
}
.banner-left-area {
margin-top: 40px;
} </style>
<!--Start VDZ Yandex Metrika Plugin-->
<!-- Yandex.Metrika counter --><script type="text/javascript" >(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");ym(34531570, "init", {clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true, trackHash:true, ecommerce:"dataLayer"});</script>
<noscript><div><img src="https://mc.yandex.ru/watch/34531570" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter --><!--START ADD EVENTS FROM CF7--><script type='text/javascript'>document.addEventListener( 'wpcf7submit', function( event ) {
//event.detail.contactFormId;
if(ym){
//console.log(event.detail);
ym(34531570, 'reachGoal', 'VDZ_SEND_CONTACT_FORM_7');
ym(34531570, 'params', {
page_url: window.location.href,
status: event.detail.status,
locale: event.detail.contactFormLocale,
form_id: event.detail.contactFormId,
});
}
}, false );
</script><!--END ADD EVENTS FROM CF7-->
<!--End VDZ Yandex Metrika Plugin-->
</head>
<body class="post-template-default single single-post postid-3724 single-format-standard right-sidebar lazy-normal has-lb">
<div class="main-wrap">
<header id="main-head" class="main-head head-nav-below has-search-modal simple simple-boxed">
<div class="inner inner-head" data-sticky-bar="0">
<div class="wrap cf wrap-head">
<div class="left-contain">
<span class="mobile-nav"><i class="fa fa-bars"></i></span>
<div class="title">
<a href="https://otus.ru/journal/" title="OTUS JOURNAL" rel="home" data-wpel-link="internal">
<span class="text-logo"><img src="/journal/wp-content/themes/contentberg/img/logo_site.svg" alt="OTUS JOURNAL"></span>
</a>
</div>
</div>
<div class="navigation-wrap inline">
<nav class="navigation inline simple light" data-sticky-bar="0">
<div class="menu-rubriki-container"><ul id="menu-rubriki" class="menu"><li id="menu-item-109" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-1 menu-item-109"><a href="https://otus.ru/journal/category/pro-it/" data-wpel-link="internal"><span>Про IT</span></a></li>
<li id="menu-item-113" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-cat-4 menu-item-113"><a href="https://otus.ru/journal/category/polza/" data-wpel-link="internal"><span>Полезное</span></a></li>
<li id="menu-item-114" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-3 menu-item-114"><a href="https://otus.ru/journal/category/lifestyle/" data-wpel-link="internal"><span>Лайфстайл</span></a></li>
<li id="menu-item-10406" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10406"><a href="https://otus.ru/catalog/courses" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Обучение</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10407" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10407"><a href="https://otus.ru/about" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Информация</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </nav>
</div>
<div class="actions">
<div class="otus-login-site">
<a href="https://otus.ru/login/" target="_blank" data-wpel-link="external" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Войти<span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
<a href="#" title="Search" class="search-link"><i class="fa fa-search"></i></a>
</div>
</div>
</div>
</header> <!-- .main-head -->
<div class="nav nav_disable nav_colored nav_transparent course-categories__nav nav__scroll ">
<div class="container wrap">
<div class="links inline simple light scrollable-menu">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov" class="menu"><li id="menu-item-10413" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10414" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10415" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10416" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10417" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10418" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10419" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10420" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10421" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
</div>
</div>
<div class="main wrap">
<div class="ts-row cf">
<div class="col-8 main-content cf">
<article id="post-3724" class="the-post post-3724 post type-post status-publish format-standard has-post-thumbnail category-polza tag-python">
<header class="post-header the-post-header cf">
<div class="post-meta the-post-meta">
<span class="post-cat">
<a href="https://otus.ru/journal/category/polza/" class="category" data-wpel-link="internal">Полезное</a>
</span>
<h1 class="post-title">
Случайные числа в Питоне
</h1>
<a href="https://otus.ru/journal/sluchajnye-chisla-v-pitone/" class="date-link" data-wpel-link="internal"><time class="post-date">8 июня, 2022</time></a>
</div>
<div class="featured">
<a href="https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72011-1.png" class="image-link" data-wpel-link="internal"><img width="770" height="515" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20770%20515%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-contentberg-main size-contentberg-main lazyload wp-post-image" alt="Случайные числа в Питоне" title="Случайные числа в Питоне" decoding="async" fetchpriority="high" data-srcset="https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72011-1-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72011-1-300x200.png 300w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72011-1-1024x683.png 1024w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72011-1-150x100.png 150w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72011-1-270x180.png 270w" data-src="https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72011-1-770x515.png" data-sizes="(max-width: 770px) 100vw, 770px" /> </a>
</div>
</header><!-- .post-header -->
<div class="post-content description cf entry-content content-normal">
<div id="ez-toc-container" class="ez-toc-v2_0_61 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title " >Содержание</p>
<span class="ez-toc-title-toggle"><a href="#" class="ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle" aria-label="Toggle Table of Content"><span class="ez-toc-js-icon-con"><span class=""><span class="eztoc-hide" style="display:none;">Toggle</span><span class="ez-toc-icon-toggle-span"><svg style="fill: #999;color:#999" xmlns="http://www.w3.org/2000/svg" class="list-377408" width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path d="M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z" fill="currentColor"></path></svg><svg style="fill: #999;color:#999" class="arrow-unsorted-368013" xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 24 24" version="1.2" baseProfile="tiny"><path d="M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z"/></svg></span></span></span></a></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="#%D0%A1%D0%BC%D1%8B%D1%81%D0%BB_%D0%BD%D0%B5%D0%B8%D0%B7%D0%B2%D0%B5%D1%81%D1%82%D0%BD%D0%BE%D0%B3%D0%BE" title="Смысл неизвестного">Смысл неизвестного</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-2" href="#%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%B2_Python" title="Реализация в Python">Реализация в Python</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-3" href="#%D0%9E%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8" title="Особенности">Особенности</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="#%D0%9E_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D0%B5_Random" title="О модуле Random">О модуле Random</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-5" href="#%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D0%B2_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B0%D1%85" title="Генерация в примерах">Генерация в примерах</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-6" href="#%D0%92%D0%B5%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5" title="Вещественные">Вещественные</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-7" href="#%D0%A6%D0%B5%D0%BB%D0%BE%D0%B5" title="Целое">Целое</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-8" href="#%D0%94%D0%B8%D0%B0%D0%BF%D0%B0%D0%B7%D0%BE%D0%BD_%D1%86%D0%B5%D0%BB%D1%8B%D1%85" title="Диапазон целых">Диапазон целых</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-9" href="#%D0%94%D0%B8%D0%B0%D0%BF%D0%B0%D0%B7%D0%BE%D0%BD_%D0%B2%D0%B5%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D1%85" title="Диапазон вещественных">Диапазон вещественных</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-10" href="#%D0%92_%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B5" title="В генераторе">В генераторе</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-11" href="#%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D1%88%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" title="Перемешивание">Перемешивание</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-12" href="#%D0%A1%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82" title="Случайный компонент">Случайный компонент</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-13" href="#%D0%9D%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE_%D0%B8%D0%B7_%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0" title="Несколько из списка">Несколько из списка</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-14" href="#%D0%91%D1%83%D0%BA%D0%B2%D1%8B" title="Буквы">Буквы</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-15" href="#SystemRandom" title="SystemRandom">SystemRandom</a></li></ul></li></ul></nav></div>
<p>Python – один из наиболее популярных языков программирования общего назначения. Позволяет создавать не только мелкие приложения, но и сложные утилиты. Прост в освоении, за счет чего идеально подходит новичкам.</p>
<p>В приложениях часто приходится работать с числами, включая случайные значения. Их не только обрабатывают, но и генерируют. В данной статье речь зайдет о модуле под названием Random в Python.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D0%BC%D1%8B%D1%81%D0%BB_%D0%BD%D0%B5%D0%B8%D0%B7%D0%B2%D0%B5%D1%81%D1%82%D0%BD%D0%BE%D0%B3%D0%BE"></span>Смысл неизвестного<span class="ez-toc-section-end"></span></h2>
<p>Случайное число – это произвольная величина, которая возникает при воздействии специального приложения автоматического направления устройства. Данный процесс получил широкое распространение в программировании, особенно там, где нужно сотрудничать с неповторимыми значениями, сложными для предсказания.</p>
<p>Пример – это слоты в азартной деятельности и криптопароли, необходимые для защиты электронной информации, включая конфиденциальную.</p>
<p>Программа изначально не может создавать случайный элемент или значение. Последовательности будут опираться на рандомном определении. В основе заложено некое число. Во время инициализации последовательности с его участием несколько раз подряд, на выходе получаются одинаковые итоги. Чтобы получить объективную работу, приходится задействовать показатель часов системы.</p>
<p>Необходимо запомнить, что:</p>
<ol type="1"><li>При повторном запуске утилиты можно получить random число.</li><li>Время на обработку еще одного запроса будет возрастать.</li><li>Соответствующее явление базируется на том, что для получения нового числа нужно затратить больше времени.</li></ol>
<p>Все это помогает разрешить генерация случайных чисел, базирующаяся на системных часах. Так удается достичь предельной оптимизации.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%B2_Python"></span>Реализация в Python<span class="ez-toc-section-end"></span></h2>
<p>Для грамотной и слаженной работы системы в Питоне присутствуют разного рода модули. Они помогают обнаруживать random компоненты и величины. Чаще всего для получения результата приходится использовать текущее системное время, инициализированное на задействованном устройстве.</p>
<p>При обращении к генератору с применением соответствующей переменной можно получать новые значения типа random. Главный инструмент здесь – это многосоставная библиотека. Она носит название Random. Также используются модули и функции numpy.random и os.urandom.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8"></span>Особенности<span class="ez-toc-section-end"></span></h3>
<p>При применении рандома необходимо помнить о некоторых нюансах реализации в Python. К ним относят:</p>
<ul><li>стандартный рандом в ЯП включает в себя огромное количество генерации целых и вещественных показателей, последовательностей с четко прописанными параметрами;</li><li>для заполнения промежутка рандомными элементами требуется задействовать функцию numpy.random;</li><li>функция os.urandom помогает формировать набор случайных байтов;</li><li>последний вариант чаще всего встречается при криптографии.</li></ul>
<p>При обработке псевдослучайных чисел огромную роль играет присутствие в модуле random специального класса под названием SystemRandom. Процессы, которые творятся в его пределах, обращаются к функции os.urandom. Этот генератор имеет аналогичный функционал, но для криптографии он подходит лучше.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D0%B5_Random"></span>О модуле Random<span class="ez-toc-section-end"></span></h2>
<p>В языке программирования Python модуль Random предусматривает методы, которые предназначаются для тех или иных действий. Чтобы с ним работать, стоит рассмотреть стандартную библиотеку рандома.</p>
<p>Она включает в себя следующие параметры:</p>
<ul><li>random() – возврат числа в значения между 0 и 1;</li><li>seed (a) – настройка генератора на новую последовательность a;</li><li>uniform (a, b) – возврат вещественного числа в промежуток между a и b;</li><li>randrange (a, b, c) – возврат значения в диапазон данных от a до b с шагом c;</li><li>randint – возвращение значения в установленный диапазон;</li><li>shuffle (a) – миксация параметра из перечня a;</li><li>sample (a, b) – возвращение на исходную позицию последовательности длиной b из списка a;</li><li>choice (a) – восстановление обратно случайного элемента из заданного списка;</li><li>getstate () – обновляет внутреннее состояние генератора;</li><li>setstate (a) – восстановление внутреннего состояния заданного генератора;</li><li>getrandbits (a) – восстановление a при обработке процедуры случайного генерирования бит;</li><li>triangular (a, b, c) – отображение изначального значения числа от a до b с заданным шагом c.</li></ul>
<p>Для случайной псевдопоследовательности предстоит задействовать функцию seed. Ее вызов без применения параметра позволяет использовать системный таймер. Соответствующая операция предоставляется только в конструкторе класса Random.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D0%B2_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B0%D1%85"></span>Генерация в примерах<span class="ez-toc-section-end"></span></h2>
<p>Перед тем, как рассматривать наглядные примеры, которые помогут разобраться в том, что собой представляет рандом в Питоне, нужно провести инициализацию упомянутой библиотеки. Для этого необходимо выполнить команду import random.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%92%D0%B5%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5"></span>Вещественные<span class="ez-toc-section-end"></span></h3>
<p>У модуля есть одноименная функция random, которая чаще всего применяется в Питоне. Она возвращает число в промежуток 0-1.</p>
<figure class="wp-block-image size-large"><img decoding="async" width="356" height="253" src="https://otus.ru/journal/wp-content/uploads/2022/06/1-4.jpg" alt="Случайные числа в Питоне" class="wp-image-3727" srcset="https://otus.ru/journal/wp-content/uploads/2022/06/1-4.jpg 356w, https://otus.ru/journal/wp-content/uploads/2022/06/1-4-300x213.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/06/1-4-150x107.jpg 150w" sizes="(max-width: 356px) 100vw, 356px" /></figure>
<p>Выше – наглядный пример реализации кодификации.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A6%D0%B5%D0%BB%D0%BE%D0%B5"></span>Целое<span class="ez-toc-section-end"></span></h3>
<p>Случайное целое число появляется из конкретного диапазона. Для этого требуется использовать функцию randit. У нее несколько аргументов:</p>
<ul><li>максимум;</li><li>минимум.</li></ul>
<figure class="wp-block-image size-large"><img decoding="async" width="265" height="232" src="https://otus.ru/journal/wp-content/uploads/2022/06/2-4.jpg" alt="Случайные числа в Питоне" class="wp-image-3728" srcset="https://otus.ru/journal/wp-content/uploads/2022/06/2-4.jpg 265w, https://otus.ru/journal/wp-content/uploads/2022/06/2-4-150x131.jpg 150w" sizes="(max-width: 265px) 100vw, 265px" /></figure>
<p>Предложенный пример работы со случайными элементами помогает обнаружить разные компоненты в пределах от 0 до 9 включительно.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%94%D0%B8%D0%B0%D0%BF%D0%B0%D0%B7%D0%BE%D0%BD_%D1%86%D0%B5%D0%BB%D1%8B%D1%85"></span>Диапазон целых<span class="ez-toc-section-end"></span></h3>
<p>Иногда требуется задать целый диапазон целых. Для этого применяется randrange. Он рандомно генерирует параметры за счет выставленных настроек:</p>
<ul><li>минимум;</li><li>максимум;</li><li>шаг.</li></ul>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="444" height="331" src="https://otus.ru/journal/wp-content/uploads/2022/06/3-4.jpg" alt="Случайные числа в Питоне" class="wp-image-3729" srcset="https://otus.ru/journal/wp-content/uploads/2022/06/3-4.jpg 444w, https://otus.ru/journal/wp-content/uploads/2022/06/3-4-300x224.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/06/3-4-150x112.jpg 150w" sizes="(max-width: 444px) 100vw, 444px" /></figure>
<p>Здесь случайная генерация – это вызов функции с одним требованием. Граница устанавливается на 0, промежуток – на 1. Для двух аргументов длина шага будет автоматически рассчитываться. Программа работает на основе трех заданных наборов.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%94%D0%B8%D0%B0%D0%BF%D0%B0%D0%B7%D0%BE%D0%BD_%D0%B2%D0%B5%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D1%85"></span>Диапазон вещественных<span class="ez-toc-section-end"></span></h3>
<p>Число с плавающей запятой встречается часто и генерируется оно обычно случайным образом. Можно задать их диапазон в рассматриваемой библиотеке. Получение таких чисел в Python осуществляется через uniform. У этой функции random всего два параметра – минимум и максимум.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="367" height="226" src="https://otus.ru/journal/wp-content/uploads/2022/06/4-4.jpg" alt="Случайные числа в Питоне" class="wp-image-3730" srcset="https://otus.ru/journal/wp-content/uploads/2022/06/4-4.jpg 367w, https://otus.ru/journal/wp-content/uploads/2022/06/4-4-300x185.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/06/4-4-150x92.jpg 150w" sizes="(max-width: 367px) 100vw, 367px" /></figure>
<p>Выше – приложение, которое демонстрирует процесс с переменными a и b.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%92_%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B5"></span>В генераторе<span class="ez-toc-section-end"></span></h3>
<p>Рандом может пригодиться при выводе псевдослучайных параметров. Этот прием способствует созданию некой последовательности. Для реализации задачи нужно воспользоваться randit.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="547" height="159" src="https://otus.ru/journal/wp-content/uploads/2022/06/5-4.jpg" alt="Случайные числа в Питоне" class="wp-image-3731" srcset="https://otus.ru/journal/wp-content/uploads/2022/06/5-4.jpg 547w, https://otus.ru/journal/wp-content/uploads/2022/06/5-4-300x87.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/06/5-4-150x44.jpg 150w" sizes="(max-width: 547px) 100vw, 547px" /></figure>
<p>Это – пример, который позволяет создать генератор списка со случайно заданными элементами и длиной.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D1%88%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5"></span>Перемешивание<span class="ez-toc-section-end"></span></h3>
<p>Метод Shuffle при работе из библиотеки random помогает осуществлять перемешивание компонентов. Актуально для ранее созданных списком. Все его компоненты распределяются совершенно случайно.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="282" height="181" src="https://otus.ru/journal/wp-content/uploads/2022/06/6-5.jpg" alt="Случайные числа в Питоне" class="wp-image-3732" srcset="https://otus.ru/journal/wp-content/uploads/2022/06/6-5.jpg 282w, https://otus.ru/journal/wp-content/uploads/2022/06/6-5-150x96.jpg 150w" sizes="(max-width: 282px) 100vw, 282px" /></figure>
<p>В виде программного кода соответствующее приложение будет иметь такой вид.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82"></span>Случайный компонент<span class="ez-toc-section-end"></span></h3>
<p>Choice 0 функция из Random, которая случайным образом выводит элемент из набора данных. Иногда соответствующая операция нужна даже в простейших утилитах.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="301" height="204" src="https://otus.ru/journal/wp-content/uploads/2022/06/7-3.jpg" alt="Случайные числа в Питоне" class="wp-image-3733" srcset="https://otus.ru/journal/wp-content/uploads/2022/06/7-3.jpg 301w, https://otus.ru/journal/wp-content/uploads/2022/06/7-3-150x102.jpg 150w" sizes="(max-width: 301px) 100vw, 301px" /></figure>
<p>Тут b приобретает определенное целое значение из списка под названием a.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9D%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE_%D0%B8%D0%B7_%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0"></span>Несколько из списка<span class="ez-toc-section-end"></span></h3>
<p>Рассматривая random, стоит помнить – иногда возникает необходимость выборки нескольких компонентов из определенного заранее списка случайным образом. Тут помогает функция sample. Первый аргумент – это исходная последовательность. Второй – длина нового массива.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="258" height="176" src="https://otus.ru/journal/wp-content/uploads/2022/06/8-2.jpg" alt="Случайные числа в Питоне" class="wp-image-3734" srcset="https://otus.ru/journal/wp-content/uploads/2022/06/8-2.jpg 258w, https://otus.ru/journal/wp-content/uploads/2022/06/8-2-150x102.jpg 150w" sizes="(max-width: 258px) 100vw, 258px" /></figure>
<p>Вот – наглядный пример соответствующей утилиты и полученного в ходе обработки кодификации информации.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%91%D1%83%D0%BA%D0%B2%D1%8B"></span>Буквы<span class="ez-toc-section-end"></span></h3>
<p>Когда программер хорошо разобрался в print, i in range, for i in и иных ключевых функциях языка, а также выучил принцип работы с числами и их случайной генерацией, можно рассмотреть аналогичную операцию с буквами.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="446" height="349" src="https://otus.ru/journal/wp-content/uploads/2022/06/9-2.jpg" alt="Случайные числа в Питоне" class="wp-image-3735" srcset="https://otus.ru/journal/wp-content/uploads/2022/06/9-2.jpg 446w, https://otus.ru/journal/wp-content/uploads/2022/06/9-2-300x235.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/06/9-2-150x117.jpg 150w, https://otus.ru/journal/wp-content/uploads/2022/06/9-2-87x67.jpg 87w" sizes="(max-width: 446px) 100vw, 446px" /></figure>
<p>Для реализации требуется провести импортирование модуля string, а затем – задействовать список letters. Он отвечает за отображение английского алфавита.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="SystemRandom"></span>SystemRandom<span class="ez-toc-section-end"></span></h3>
<p>Эта возможность базируется на os.urandom. Позволяет создавать псевдослучайные параметры, которые будут находиться в полной зависимости от дополнительных данных операционной системы. Способствует стабильной работе в криптографии. Единственный существенный минус SystemRandom – это относительно медленная работа.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="444" height="336" src="https://otus.ru/journal/wp-content/uploads/2022/06/10-2.jpg" alt="Случайные числа в Питоне" class="wp-image-3736" srcset="https://otus.ru/journal/wp-content/uploads/2022/06/10-2.jpg 444w, https://otus.ru/journal/wp-content/uploads/2022/06/10-2-300x227.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/06/10-2-150x114.jpg 150w, https://otus.ru/journal/wp-content/uploads/2022/06/10-2-87x67.jpg 87w" sizes="(max-width: 444px) 100vw, 444px" /></figure>
<p>А вот – пример того, как будет выглядеть соответствующее приложение.</p>
<p>Быстро освоить Питон, а также разобраться с генерацией случайных значений и списков помогут специализированные компьютерные курсы, ориентированные на широкую публику. Программа составлена так, что с ней справится даже новичок. В конце выдается сертификат установленного образца.</p>
<figure class="wp-block-image size-large"><a href="https://otus.ru/lessons/python-professional/?utm_source=oj&utm_medium=affilate&utm_campaign=python" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer"><img loading="lazy" decoding="async" width="970" height="90" src="https://otus.ru/journal/wp-content/uploads/2022/06/Python_970x90-20219-8b1a8e-2.png" alt="Случайные числа в Питоне" class="wp-image-3725" srcset="https://otus.ru/journal/wp-content/uploads/2022/06/Python_970x90-20219-8b1a8e-2.png 970w, https://otus.ru/journal/wp-content/uploads/2022/06/Python_970x90-20219-8b1a8e-2-300x28.png 300w, https://otus.ru/journal/wp-content/uploads/2022/06/Python_970x90-20219-8b1a8e-2-150x14.png 150w, https://otus.ru/journal/wp-content/uploads/2022/06/Python_970x90-20219-8b1a8e-2-768x71.png 768w" sizes="(max-width: 970px) 100vw, 970px" /></a></figure>
</div><!-- .post-content -->
<div class="the-post-foot cf">
<div class="tag-share cf">
<div class="post-tags"><a href="https://otus.ru/journal/tag/python/" rel="tag" data-wpel-link="internal">Python</a></div>
<div class="post-share">
<div class="post-share-icons cf">
<span class="counters">
</span>
<a href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fotus.ru%2Fjournal%2Fsluchajnye-chisla-v-pitone%2F" class="link facebook wpel-icon-right" target="_blank" title="Share on Facebook" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-facebook"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fsluchajnye-chisla-v-pitone%2F&text=%D0%A1%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D1%8B%D0%B5%20%D1%87%D0%B8%D1%81%D0%BB%D0%B0%20%D0%B2%20%D0%9F%D0%B8%D1%82%D0%BE%D0%BD%D0%B5" class="link twitter wpel-icon-right" target="_blank" title="Share on Twitter" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-twitter"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fotus.ru%2Fjournal%2Fsluchajnye-chisla-v-pitone%2F" class="link linkedin wpel-icon-right" target="_blank" title="LinkedIn" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-linkedin"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fsluchajnye-chisla-v-pitone%2F&media=https%3A%2F%2Fotus.ru%2Fjournal%2Fwp-content%2Fuploads%2F2022%2F06%2Foj-1080x72011-1.png&description=%D0%A1%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D1%8B%D0%B5%20%D1%87%D0%B8%D1%81%D0%BB%D0%B0%20%D0%B2%20%D0%9F%D0%B8%D1%82%D0%BE%D0%BD%D0%B5" class="link pinterest wpel-icon-right" target="_blank" title="Pinterest" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-pinterest-p"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
</div>
</div>
</div>
<div class="post-nav">
<div class="post previous cf">
<a href="https://otus.ru/journal/iskljucheniya-v-pitone-ot-a-do-ya/" title="Prev Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-left"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/iskljucheniya-v-pitone-ot-a-do-ya/" class="image-link" rel="previous" data-wpel-link="internal">
<img width="150" height="100" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20100%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Исключения в Питоне от А до Я" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72010-1-150x100.png 150w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72010-1-300x200.png 300w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72010-1-1024x683.png 1024w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72010-1-768x512.png 768w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72010-1-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72010-1-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72010-1-370x245.png 370w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72010-1.png 1080w" data-src="https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72010-1-150x100.png" data-sizes="(max-width: 150px) 100vw, 150px" title="Исключения в Питоне от А до Я" /> </a>
<div class="post-meta">
<span class="label">Prev Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/iskljucheniya-v-pitone-ot-a-do-ya/" data-wpel-link="internal">Исключения в Питоне от А до Я</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/iskljucheniya-v-pitone-ot-a-do-ya/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2022-06-08T18:26:01+00:00">8 июня, 2022</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">6 Mins Read</span>
</div>
</div> </div>
</span>
</div>
<div class="post next cf">
<a href="https://otus.ru/journal/react-opisanie-i-ispolzovanie-v-razrabotke/" title="Next Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-right"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/react-opisanie-i-ispolzovanie-v-razrabotke/" class="image-link" rel="next" data-wpel-link="internal">
<img width="150" height="100" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20100%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="React: описание и использование в разработке" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72012-1-150x100.png 150w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72012-1-300x200.png 300w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72012-1-1024x683.png 1024w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72012-1-768x512.png 768w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72012-1-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72012-1-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72012-1-370x245.png 370w, https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72012-1.png 1080w" data-src="https://otus.ru/journal/wp-content/uploads/2022/06/oj-1080x72012-1-150x100.png" data-sizes="(max-width: 150px) 100vw, 150px" title="React: описание и использование в разработке" /> </a>
<div class="post-meta">
<span class="label">Next Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/react-opisanie-i-ispolzovanie-v-razrabotke/" data-wpel-link="internal">React: описание и использование в разработке</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/react-opisanie-i-ispolzovanie-v-razrabotke/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2022-06-08T18:45:01+00:00">8 июня, 2022</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">5 Mins Read</span>
</div>
</div> </div>
</span>
</div>
</div>
<section class="related-posts grid-3">
<h4 class="section-head"><span class="title">Читать ещё</span></h4>
<div class="ts-row posts cf">
<article class="post col-4">
<a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" title="Уровень готовности CTO к 2026" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Уровень готовности CTO к 2026" title="Уровень готовности CTO к 2026" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" class="post-link" data-wpel-link="internal">Уровень готовности CTO к 2026</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-16T19:50:59+00:00">16 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" title="Новые уроки ноября: только топ-темы по программированию" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Новые уроки ноября: только топ-темы по программированию" title="Новые уроки ноября: только топ-темы по программированию" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" class="post-link" data-wpel-link="internal">Новые уроки ноября: только топ-темы по программированию</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-09T23:24:11+00:00">9 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/schjot-idjot-na-chasy/" title="Счёт идёт на часы" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Счёт идёт на часы" title="Счёт идёт на часы" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-370x245.png 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/schjot-idjot-na-chasy/" class="post-link" data-wpel-link="internal">Счёт идёт на часы</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-10-30T15:04:59+00:00">30 октября, 2025</time>
</div>
</div>
</article >
</div>
</section>
</article> <!-- .the-post -->
</div>
<aside class="col-4 sidebar">
<div class="inner">
<ul>
<li id="search-2" class="widget widget_search"><h5 class="widget-title"><span>Поиск по блогу</span></h5>
<form method="get" class="search-form" action="https://otus.ru/journal/">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Введите запрос и нажмите Enter" value="" name="s" title="Search for:" />
</label>
<button type="submit" class="search-submit"><i class="fa fa-search"></i></button>
</form>
</li>
<li id="tag_cloud-5" class="widget widget_tag_cloud"><h5 class="widget-title"><span>Метки</span></h5><div class="tagcloud"><a href="https://otus.ru/journal/tag/android-2/" class="tag-cloud-link tag-link-74 tag-link-position-1" style="font-size: 12.472222222222pt;" aria-label="Android (34 элемента)" data-wpel-link="internal">Android</a>
<a href="https://otus.ru/journal/tag/c-3/" class="tag-cloud-link tag-link-91 tag-link-position-2" style="font-size: 10.916666666667pt;" aria-label="C (23 элемента)" data-wpel-link="internal">C</a>
<a href="https://otus.ru/journal/tag/c-2/" class="tag-cloud-link tag-link-81 tag-link-position-3" style="font-size: 12.666666666667pt;" aria-label="C# (35 элементов)" data-wpel-link="internal">C#</a>
<a href="https://otus.ru/journal/tag/c/" class="tag-cloud-link tag-link-20 tag-link-position-4" style="font-size: 12.472222222222pt;" aria-label="c++ (34 элемента)" data-wpel-link="internal">c++</a>
<a href="https://otus.ru/journal/tag/computer-science/" class="tag-cloud-link tag-link-209 tag-link-position-5" style="font-size: 15.972222222222pt;" aria-label="computer science (78 элементов)" data-wpel-link="internal">computer science</a>
<a href="https://otus.ru/journal/tag/css/" class="tag-cloud-link tag-link-288 tag-link-position-6" style="font-size: 8.6805555555556pt;" aria-label="CSS (13 элементов)" data-wpel-link="internal">CSS</a>
<a href="https://otus.ru/journal/tag/data-science/" class="tag-cloud-link tag-link-151 tag-link-position-7" style="font-size: 8pt;" aria-label="Data Science (11 элементов)" data-wpel-link="internal">Data Science</a>
<a href="https://otus.ru/journal/tag/devops/" class="tag-cloud-link tag-link-98 tag-link-position-8" style="font-size: 10.138888888889pt;" aria-label="devops (19 элементов)" data-wpel-link="internal">devops</a>
<a href="https://otus.ru/journal/tag/docker/" class="tag-cloud-link tag-link-143 tag-link-position-9" style="font-size: 8.2916666666667pt;" aria-label="Docker (12 элементов)" data-wpel-link="internal">Docker</a>
<a href="https://otus.ru/journal/tag/gamedev/" class="tag-cloud-link tag-link-25 tag-link-position-10" style="font-size: 11.694444444444pt;" aria-label="gamedev (28 элементов)" data-wpel-link="internal">gamedev</a>
<a href="https://otus.ru/journal/tag/hr/" class="tag-cloud-link tag-link-103 tag-link-position-11" style="font-size: 8pt;" aria-label="hr (11 элементов)" data-wpel-link="internal">hr</a>
<a href="https://otus.ru/journal/tag/html/" class="tag-cloud-link tag-link-217 tag-link-position-12" style="font-size: 11.208333333333pt;" aria-label="HTML (25 элементов)" data-wpel-link="internal">HTML</a>
<a href="https://otus.ru/journal/tag/ios/" class="tag-cloud-link tag-link-101 tag-link-position-13" style="font-size: 8.9722222222222pt;" aria-label="iOS (14 элементов)" data-wpel-link="internal">iOS</a>
<a href="https://otus.ru/journal/tag/it/" class="tag-cloud-link tag-link-50 tag-link-position-14" style="font-size: 10.527777777778pt;" aria-label="IT (21 элемент)" data-wpel-link="internal">IT</a>
<a href="https://otus.ru/journal/tag/java/" class="tag-cloud-link tag-link-75 tag-link-position-15" style="font-size: 15.680555555556pt;" aria-label="Java (73 элемента)" data-wpel-link="internal">Java</a>
<a href="https://otus.ru/journal/tag/javascript/" class="tag-cloud-link tag-link-83 tag-link-position-16" style="font-size: 14.319444444444pt;" aria-label="JavaScript (53 элемента)" data-wpel-link="internal">JavaScript</a>
<a href="https://otus.ru/journal/tag/linux/" class="tag-cloud-link tag-link-141 tag-link-position-17" style="font-size: 11.888888888889pt;" aria-label="Linux (29 элементов)" data-wpel-link="internal">Linux</a>
<a href="https://otus.ru/journal/tag/machine-learning/" class="tag-cloud-link tag-link-167 tag-link-position-18" style="font-size: 8.6805555555556pt;" aria-label="Machine Learning (13 элементов)" data-wpel-link="internal">Machine Learning</a>
<a href="https://otus.ru/journal/tag/otus-book/" class="tag-cloud-link tag-link-261 tag-link-position-19" style="font-size: 9.9444444444444pt;" aria-label="otus book (18 элементов)" data-wpel-link="internal">otus book</a>
<a href="https://otus.ru/journal/tag/php/" class="tag-cloud-link tag-link-45 tag-link-position-20" style="font-size: 10.527777777778pt;" aria-label="PHP (21 элемент)" data-wpel-link="internal">PHP</a>
<a href="https://otus.ru/journal/tag/python/" class="tag-cloud-link tag-link-27 tag-link-position-21" style="font-size: 16.944444444444pt;" aria-label="Python (99 элементов)" data-wpel-link="internal">Python</a>
<a href="https://otus.ru/journal/tag/qa/" class="tag-cloud-link tag-link-155 tag-link-position-22" style="font-size: 11.402777777778pt;" aria-label="qa (26 элементов)" data-wpel-link="internal">qa</a>
<a href="https://otus.ru/journal/tag/sql/" class="tag-cloud-link tag-link-38 tag-link-position-23" style="font-size: 12.861111111111pt;" aria-label="SQL (37 элементов)" data-wpel-link="internal">SQL</a>
<a href="https://otus.ru/journal/tag/team-lead/" class="tag-cloud-link tag-link-364 tag-link-position-24" style="font-size: 9.9444444444444pt;" aria-label="team lead (18 элементов)" data-wpel-link="internal">team lead</a>
<a href="https://otus.ru/journal/tag/unity/" class="tag-cloud-link tag-link-24 tag-link-position-25" style="font-size: 8pt;" aria-label="unity (11 элементов)" data-wpel-link="internal">unity</a>
<a href="https://otus.ru/journal/tag/algoritmy/" class="tag-cloud-link tag-link-30 tag-link-position-26" style="font-size: 9.9444444444444pt;" aria-label="Алгоритмы (18 элементов)" data-wpel-link="internal">Алгоритмы</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh/" class="tag-cloud-link tag-link-40 tag-link-position-27" style="font-size: 10.138888888889pt;" aria-label="Базы данных (19 элементов)" data-wpel-link="internal">Базы данных</a>
<a href="https://otus.ru/journal/tag/matematika/" class="tag-cloud-link tag-link-44 tag-link-position-28" style="font-size: 10.916666666667pt;" aria-label="Математика (23 элемента)" data-wpel-link="internal">Математика</a>
<a href="https://otus.ru/journal/tag/arhitektura-po/" class="tag-cloud-link tag-link-10 tag-link-position-29" style="font-size: 9.4583333333333pt;" aria-label="архитектура ПО (16 элементов)" data-wpel-link="internal">архитектура ПО</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh-2/" class="tag-cloud-link tag-link-251 tag-link-position-30" style="font-size: 10.138888888889pt;" aria-label="базы данных (19 элементов)" data-wpel-link="internal">базы данных</a>
<a href="https://otus.ru/journal/tag/vebinar/" class="tag-cloud-link tag-link-201 tag-link-position-31" style="font-size: 13.930555555556pt;" aria-label="вебинар (48 элементов)" data-wpel-link="internal">вебинар</a>
<a href="https://otus.ru/journal/tag/dajdzhest/" class="tag-cloud-link tag-link-308 tag-link-position-32" style="font-size: 10.722222222222pt;" aria-label="дайджест (22 элемента)" data-wpel-link="internal">дайджест</a>
<a href="https://otus.ru/journal/tag/zapis-vebinara/" class="tag-cloud-link tag-link-226 tag-link-position-33" style="font-size: 14.902777777778pt;" aria-label="запись вебинара (61 элемент)" data-wpel-link="internal">запись вебинара</a>
<a href="https://otus.ru/journal/tag/zapis-uroka/" class="tag-cloud-link tag-link-272 tag-link-position-34" style="font-size: 16.069444444444pt;" aria-label="запись урока (80 элементов)" data-wpel-link="internal">запись урока</a>
<a href="https://otus.ru/journal/tag/informacionnaya-bezopasnost/" class="tag-cloud-link tag-link-232 tag-link-position-35" style="font-size: 10.138888888889pt;" aria-label="информационная безопасность (19 элементов)" data-wpel-link="internal">информационная безопасность</a>
<a href="https://otus.ru/journal/tag/karera-v-it/" class="tag-cloud-link tag-link-292 tag-link-position-36" style="font-size: 9.9444444444444pt;" aria-label="карьера в IT (18 элементов)" data-wpel-link="internal">карьера в IT</a>
<a href="https://otus.ru/journal/tag/podborka/" class="tag-cloud-link tag-link-7 tag-link-position-37" style="font-size: 12.666666666667pt;" aria-label="подборка (35 элементов)" data-wpel-link="internal">подборка</a>
<a href="https://otus.ru/journal/tag/podborka-statej/" class="tag-cloud-link tag-link-219 tag-link-position-38" style="font-size: 15.777777777778pt;" aria-label="подборка статей (75 элементов)" data-wpel-link="internal">подборка статей</a>
<a href="https://otus.ru/journal/tag/programmirovanie/" class="tag-cloud-link tag-link-65 tag-link-position-39" style="font-size: 22pt;" aria-label="программирование (332 элемента)" data-wpel-link="internal">программирование</a>
<a href="https://otus.ru/journal/tag/proekt/" class="tag-cloud-link tag-link-321 tag-link-position-40" style="font-size: 11.888888888889pt;" aria-label="проект (29 элементов)" data-wpel-link="internal">проект</a>
<a href="https://otus.ru/journal/tag/proektnaya-rabota/" class="tag-cloud-link tag-link-310 tag-link-position-41" style="font-size: 11.597222222222pt;" aria-label="проектная работа (27 элементов)" data-wpel-link="internal">проектная работа</a>
<a href="https://otus.ru/journal/tag/seti/" class="tag-cloud-link tag-link-181 tag-link-position-42" style="font-size: 12.958333333333pt;" aria-label="сети (38 элементов)" data-wpel-link="internal">сети</a>
<a href="https://otus.ru/journal/tag/testirovanie/" class="tag-cloud-link tag-link-69 tag-link-position-43" style="font-size: 13.930555555556pt;" aria-label="тестирование (48 элементов)" data-wpel-link="internal">тестирование</a>
<a href="https://otus.ru/journal/tag/upravlenie-komandoj/" class="tag-cloud-link tag-link-63 tag-link-position-44" style="font-size: 11.694444444444pt;" aria-label="управление командой (28 элементов)" data-wpel-link="internal">управление командой</a>
<a href="https://otus.ru/journal/tag/habr-2/" class="tag-cloud-link tag-link-203 tag-link-position-45" style="font-size: 13.930555555556pt;" aria-label="хабр (48 элементов)" data-wpel-link="internal">хабр</a></div>
</li>
</ul>
</div>
</aside>
</div> <!-- .ts-row -->
</div> <!-- .main -->
<footer class="main-footer dark bold">
<section class="lower-footer cf">
<div class="wrap">
<div class="links">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov-1" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
<p class="copyright"> © 2015-2026 OTUS </p>
<div class="to-top">
<a href="#" class="back-to-top"><i class="fa fa-angle-up"></i> Top</a>
</div>
</div>
</section>
</footer>
</div> <!-- .main-wrap -->
<div class="mobile-menu-container off-canvas" id="mobile-menu">
<a href="#" class="close"><i class="fa fa-times"></i></a>
<div class="logo">
</div>
<ul class="mobile-menu"></ul>
</div>
<div class="search-modal-wrap">
<div class="search-modal-box" role="dialog" aria-modal="true">
<form method="get" class="search-form" action="https://otus.ru/journal/">
<input type="search" class="search-field" name="s" placeholder="Search..." value="" required />
<button type="submit" class="search-submit visuallyhidden">Submit</button>
<p class="message">
Type above and press <em>Enter</em> to search. Press <em>Esc</em> to cancel. </p>
</form>
</div>
</div>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/js/url-span.js" id="wbcr-comments-plus-url-span-js"></script>
<script type="text/javascript" id="ez-toc-scroll-scriptjs-js-extra">
/* <![CDATA[ */
var eztoc_smooth_local = {"scroll_offset":"30"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/smooth_scroll.min.js" id="ez-toc-scroll-scriptjs-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/js-cookie/js.cookie.min.js" id="ez-toc-js-cookie-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/sticky-kit/jquery.sticky-kit.min.js" id="ez-toc-jquery-sticky-kit-js"></script>
<script type="text/javascript" id="ez-toc-js-js-extra">
/* <![CDATA[ */
var ezTOC = {"smooth_scroll":"1","visibility_hide_by_default":"","scroll_offset":"30","fallbackIcon":"<span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span>"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/front.min.js" id="ez-toc-js-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/custom-script.js" id="custom-script-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/magnific-popup.js" id="magnific-popup-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.fitvids.js" id="jquery-fitvids-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/imagesloaded.min.js" id="imagesloaded-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/object-fit-images.js" id="object-fit-images-js"></script>
<script type="text/javascript" id="contentberg-theme-js-extra">
/* <![CDATA[ */
var Bunyad = {"custom_ajax_url":"\/journal\/sluchajnye-chisla-v-pitone\/"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theme.js" id="contentberg-theme-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theia-sticky-sidebar.js" id="theia-sticky-sidebar-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.slick.js" id="jquery-slick-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jarallax.js" id="jarallax-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/masonry.min.js" id="masonry-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.masonry.min.js" id="jquery-masonry-js"></script>
</body>
</html>
<!-- Cache served by breeze CACHE - Last modified: Mon, 09 Mar 2026 15:48:47 GMT -->