From 43f08f11920373bb3dc5c261674b0e2349ae82c7 Mon Sep 17 00:00:00 2001 From: Nikolay Gagarinov Date: Fri, 22 May 2026 16:46:47 +0500 Subject: [PATCH] =?UTF-8?q?docs(python):=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D0=B6=D0=B8=D0=B7=D0=BD=D0=B5=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9=20=D0=BA=D0=BE=D0=BD=D1=82=D0=B5=D0=BA=D1=81=D1=82?= =?UTF-8?q?=20=D0=B2=2018=20=D0=BF=D1=80=D0=B0=D0=BA=D1=82=D0=B8=D0=BA=20(?= =?UTF-8?q?=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D0=B8=2031=E2=80=9350)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 31-advanced-strings: - 30-symbols: секретное слово в именах участников квиза - 70-slices: выделить домен из полного адреса сайта - 90-multiline-strings: текст письма о статусе заказа в магазине 33-data-types: - 50-strong-typing: счёт очков двух игроков - 52-data-types-immutability: секретное слово в трёх именах 35-calling-functions: - 100-call: проверить длину названий двух компаний на сайте - 150-calling-functions-expression: краткая сводка по тексту - 270-deterministic: бросок кубика в настольной игре 38-objects: - 100-objects: пользователь ввёл текст с caps lock 40-define-functions: - 100-define-function: приветствие для посетителей сайта - 250-named-arguments: подготовка текста уведомлений - 300-type-annotations: создание текстовых разделителей 45-logic: - 15-bool-strings: проверка длины пароля при регистрации - 28-logical-negation: игра со словами — палиндром или нет - 90-logical-expressions: проверка типа поля формы 48-conditionals: - 30-if: викторина с загаданным числом - 60-ternary-operator: кнопка-переключатель в приложении 50-loops: - 80-for-in-range: FizzBuzz — задание с собеседований Co-Authored-By: Claude Sonnet 4.6 --- modules/31-advanced-strings/30-symbols/ru/EXERCISE.md | 4 +--- modules/31-advanced-strings/70-slices/ru/EXERCISE.md | 2 +- .../31-advanced-strings/90-multiline-strings/ru/EXERCISE.md | 2 +- modules/33-data-types/50-strong-typing/ru/EXERCISE.md | 2 +- .../33-data-types/52-data-types-immutability/ru/EXERCISE.md | 2 +- modules/35-calling-functions/100-call/ru/EXERCISE.md | 2 +- .../150-calling-functions-expression/ru/EXERCISE.md | 2 +- modules/35-calling-functions/270-deterministic/ru/EXERCISE.md | 2 +- modules/38-objects/100-objects/ru/EXERCISE.md | 2 +- .../40-define-functions/100-define-function/ru/EXERCISE.md | 2 +- .../40-define-functions/250-named-arguments/ru/EXERCISE.md | 2 +- .../40-define-functions/300-type-annotations/ru/EXERCISE.md | 2 +- modules/45-logic/15-bool-strings/ru/EXERCISE.md | 4 ++-- modules/45-logic/28-logical-negation/ru/EXERCISE.md | 2 +- modules/45-logic/90-logical-expressions/ru/EXERCISE.md | 2 +- modules/48-conditionals/30-if/ru/EXERCISE.md | 2 +- modules/48-conditionals/60-ternary-operator/ru/EXERCISE.md | 2 +- modules/50-loops/80-for-in-range/ru/EXERCISE.md | 2 +- 18 files changed, 19 insertions(+), 21 deletions(-) diff --git a/modules/31-advanced-strings/30-symbols/ru/EXERCISE.md b/modules/31-advanced-strings/30-symbols/ru/EXERCISE.md index 1f2f134c..d948ff40 100644 --- a/modules/31-advanced-strings/30-symbols/ru/EXERCISE.md +++ b/modules/31-advanced-strings/30-symbols/ru/EXERCISE.md @@ -1,3 +1 @@ -В переменной `text` хранится строка `Python programming`. - -Извлеките из нее символы по индексам, соедините их и выведите на экран слово `grip`. +В трёх именах участников квиза спрятано секретное слово. Извлеките нужные символы из переменной `text` по индексам, соедините их и выведите на экран слово `grip`. diff --git a/modules/31-advanced-strings/70-slices/ru/EXERCISE.md b/modules/31-advanced-strings/70-slices/ru/EXERCISE.md index 17f508e4..63bcafb4 100644 --- a/modules/31-advanced-strings/70-slices/ru/EXERCISE.md +++ b/modules/31-advanced-strings/70-slices/ru/EXERCISE.md @@ -1 +1 @@ -В переменной `url` хранится адрес `https://hexlet.io`. Извлеките из него с помощью среза доменное имя `hexlet.io` и выведите на экран. Задание можно сделать разными способами. +Программа получает полный адрес сайта и должна выделить из него только имя домена — без протокола `https://`. В переменной `url` хранится адрес `https://hexlet.io`. Извлеките с помощью среза доменное имя `hexlet.io` и выведите на экран. Задание можно сделать разными способами. diff --git a/modules/31-advanced-strings/90-multiline-strings/ru/EXERCISE.md b/modules/31-advanced-strings/90-multiline-strings/ru/EXERCISE.md index d06a0316..f058245b 100644 --- a/modules/31-advanced-strings/90-multiline-strings/ru/EXERCISE.md +++ b/modules/31-advanced-strings/90-multiline-strings/ru/EXERCISE.md @@ -1,4 +1,4 @@ -Запишите в переменную `text` текст, приведенный ниже. Все переносы строк должны сохраниться. +Интернет-магазин хранит текст письма о статусе заказа в переменной и отправляет его покупателю. Запишите в переменную `text` текст письма, приведённый ниже. Все переносы строк должны сохраниться. ```text Уважаемый пользователь! diff --git a/modules/33-data-types/50-strong-typing/ru/EXERCISE.md b/modules/33-data-types/50-strong-typing/ru/EXERCISE.md index 58fcb2e6..c676b967 100644 --- a/modules/33-data-types/50-strong-typing/ru/EXERCISE.md +++ b/modules/33-data-types/50-strong-typing/ru/EXERCISE.md @@ -1,3 +1,3 @@ -Выведите на экран результат выражения: `7 - (-8 - -2)`. +В игре два игрока. Первый набрал `7` очков, второй потерял очки: выражение `(-8 - -2)` описывает его результат. Посчитайте разницу и выведите на экран: `7 - (-8 - -2)`. Попробуйте сделать число 7 не числом, а строкой: `'7' - (-8 - -2)`. Сработает ли такой код? Поэкспериментируйте с другими числами тоже. diff --git a/modules/33-data-types/52-data-types-immutability/ru/EXERCISE.md b/modules/33-data-types/52-data-types-immutability/ru/EXERCISE.md index 376fe408..935b8727 100644 --- a/modules/33-data-types/52-data-types-immutability/ru/EXERCISE.md +++ b/modules/33-data-types/52-data-types-immutability/ru/EXERCISE.md @@ -1,4 +1,4 @@ -Вам даны три переменные с именами. Составьте и выведите на экран слово из символов в таком порядке: +В трёх именах участников спрятано секретное слово. Составьте и выведите его из символов в таком порядке: 1. Второй символ из первой строки 2. Третий символ из третьей строки diff --git a/modules/35-calling-functions/100-call/ru/EXERCISE.md b/modules/35-calling-functions/100-call/ru/EXERCISE.md index fbdc9a09..b620c1d6 100644 --- a/modules/35-calling-functions/100-call/ru/EXERCISE.md +++ b/modules/35-calling-functions/100-call/ru/EXERCISE.md @@ -1 +1 @@ -В коде программы определены две переменные, содержащие имена компаний. Посчитайте их общую длину в символах, используя функцию `len()` и выведите ее на экран. +Сайт проверяет, вместится ли реклама двух компаний-партнёров в одну строку. В коде определены их названия — посчитайте общее количество символов в обоих названиях с помощью функции `len()` и выведите на экран. diff --git a/modules/35-calling-functions/150-calling-functions-expression/ru/EXERCISE.md b/modules/35-calling-functions/150-calling-functions-expression/ru/EXERCISE.md index b4130195..9055e71f 100644 --- a/modules/35-calling-functions/150-calling-functions-expression/ru/EXERCISE.md +++ b/modules/35-calling-functions/150-calling-functions-expression/ru/EXERCISE.md @@ -1,4 +1,4 @@ -Выведите на экран первый и последний символы строки, записанной в переменную `text`, в следующем формате: +Приложение показывает краткую сводку по тексту: его первый и последний символ. Выведите на экран первый и последний символы строки из переменной `text` в следующем формате: ```text First: H diff --git a/modules/35-calling-functions/270-deterministic/ru/EXERCISE.md b/modules/35-calling-functions/270-deterministic/ru/EXERCISE.md index a96b05cc..98e0c48c 100644 --- a/modules/35-calling-functions/270-deterministic/ru/EXERCISE.md +++ b/modules/35-calling-functions/270-deterministic/ru/EXERCISE.md @@ -1,4 +1,4 @@ -Функция `random()` возвращает случайное число от 0 до 1 с большим количеством знаков после запятой. Реализуйте код, который выводит на экран случайное целое число в диапазоне от 0 до 10. Для этой задачи вам понадобится функция `random()` и функция [round()](https://docs.python.org/3/library/functions.html#round), которая округляет переданное ей значение +В настольной игре бросают кубик и получают число от 0 до 10. Напишите программу, которая моделирует этот бросок: выводит на экран случайное целое число в диапазоне от 0 до 10. Для этой задачи вам понадобится функция `random()` и функция [round()](https://docs.python.org/3/library/functions.html#round), которая округляет переданное ей значение ```python round(2.320000789855705) # 2 diff --git a/modules/38-objects/100-objects/ru/EXERCISE.md b/modules/38-objects/100-objects/ru/EXERCISE.md index 5c3297e9..2276a023 100644 --- a/modules/38-objects/100-objects/ru/EXERCISE.md +++ b/modules/38-objects/100-objects/ru/EXERCISE.md @@ -1 +1 @@ -В переменной `text` хранится строка с "хаотичным" регистром. Приведите ее к нижнему регистру и выведите на экран. Пример метода, выполняющего эту задачу, приведен в теории. +Пользователь ввёл текст с включённым caps lock — буквы в разном регистре. Перед сохранением программа приводит текст к нижнему регистру. Приведите строку из переменной `text` к нижнему регистру и выведите на экран. Пример метода, выполняющего эту задачу, приведён в теории. diff --git a/modules/40-define-functions/100-define-function/ru/EXERCISE.md b/modules/40-define-functions/100-define-function/ru/EXERCISE.md index 3c99f717..a8437f5f 100644 --- a/modules/40-define-functions/100-define-function/ru/EXERCISE.md +++ b/modules/40-define-functions/100-define-function/ru/EXERCISE.md @@ -1,4 +1,4 @@ -Реализуйте функцию `say_hello()`, которая выведет на экран фразу `Hello, World!`. +Сайт выводит приветствие для каждого посетителя. Реализуйте функцию `say_hello()`, которая выводит на экран фразу `Hello, World!`. ```python say_hello() # => Hello, World! diff --git a/modules/40-define-functions/250-named-arguments/ru/EXERCISE.md b/modules/40-define-functions/250-named-arguments/ru/EXERCISE.md index a7fc4371..86d2ec96 100644 --- a/modules/40-define-functions/250-named-arguments/ru/EXERCISE.md +++ b/modules/40-define-functions/250-named-arguments/ru/EXERCISE.md @@ -1,4 +1,4 @@ -Реализуйте функцию `trim_and_repeat()`, которая принимает три параметра: +Программа готовит текст уведомлений: убирает ненужные символы с начала и повторяет сообщение нужное количество раз. Реализуйте функцию `trim_and_repeat()`, которая принимает три параметра: * Строку * `offset` — число символов, на которое нужно обрезать строку слева diff --git a/modules/40-define-functions/300-type-annotations/ru/EXERCISE.md b/modules/40-define-functions/300-type-annotations/ru/EXERCISE.md index 471e9679..df08c237 100644 --- a/modules/40-define-functions/300-type-annotations/ru/EXERCISE.md +++ b/modules/40-define-functions/300-type-annotations/ru/EXERCISE.md @@ -1,4 +1,4 @@ -Реализуйте функцию `word_multiply()`. Она должна принимать два параметра: +Приложение создаёт текстовые разделители из повторяющихся символов — например, `-------` или `=====`. Реализуйте функцию `word_multiply()`. Она должна принимать два параметра: * Строку * Число, которое обозначает, сколько раз нужно повторить строку diff --git a/modules/45-logic/15-bool-strings/ru/EXERCISE.md b/modules/45-logic/15-bool-strings/ru/EXERCISE.md index cff2c3a2..f2e2e133 100644 --- a/modules/45-logic/15-bool-strings/ru/EXERCISE.md +++ b/modules/45-logic/15-bool-strings/ru/EXERCISE.md @@ -1,6 +1,6 @@ -Напишите функцию `is_long_word()`, которая возвращает `True`, если длина переданного слова больше 5 символов, и `False` в противном случае. +При регистрации на сайте программа проверяет, что пароль достаточно длинный — больше 5 символов. Напишите функцию `is_long_word()`, которая возвращает `True`, если длина переданного слова больше 5 символов, и `False` в противном случае. -Пример работы: +Пример работы: ```python print(is_long_word("apple")) # => False diff --git a/modules/45-logic/28-logical-negation/ru/EXERCISE.md b/modules/45-logic/28-logical-negation/ru/EXERCISE.md index 71db099b..182cfa2a 100644 --- a/modules/45-logic/28-logical-negation/ru/EXERCISE.md +++ b/modules/45-logic/28-logical-negation/ru/EXERCISE.md @@ -1,4 +1,4 @@ -В этом уроке вам нужно будет реализовать две функции `is_palindrome()` и `is_not_palindrome()`, принимающие строку на вход +В игре со словами участники проверяют, является ли слово палиндромом. Реализуйте две функции `is_palindrome()` и `is_not_palindrome()`, принимающие строку на вход 1. Реализуйте функцию `is_palindrome()`, которая определяет, является ли слово палиндромом или нет. Палиндром - это слово, которое читается одинаково в обоих направлениях. Слова в функцию могут быть переданы в любом регистре, поэтому сначала нужно привести слово к нижнему регистру: `word.lower()`. diff --git a/modules/45-logic/90-logical-expressions/ru/EXERCISE.md b/modules/45-logic/90-logical-expressions/ru/EXERCISE.md index b2e081d6..df71950b 100644 --- a/modules/45-logic/90-logical-expressions/ru/EXERCISE.md +++ b/modules/45-logic/90-logical-expressions/ru/EXERCISE.md @@ -1,4 +1,4 @@ -Реализуйте функцию `string_or_not()`, которая проверяет, является ли переданный параметр строкой. Если да, то возвращается `'yes'` иначе `'no'` +Форма на сайте принимает данные от пользователя. Прежде чем обработать значение, программа проверяет, что в поле имени передана строка, а не число или другой тип. Реализуйте функцию `string_or_not()`, которая проверяет, является ли переданный параметр строкой. Если да, то возвращается `'yes'`, иначе `'no'` ```python string_or_not('Hexlet') # 'yes' diff --git a/modules/48-conditionals/30-if/ru/EXERCISE.md b/modules/48-conditionals/30-if/ru/EXERCISE.md index 32ad37d9..9d86ee53 100644 --- a/modules/48-conditionals/30-if/ru/EXERCISE.md +++ b/modules/48-conditionals/30-if/ru/EXERCISE.md @@ -1,4 +1,4 @@ -Реализуйте функцию `guess_number()`, которая принимает число и проверяет, равно ли число заданному (пусть это будет 42). Если равно, то функция должна вернуть строку `'You win!'`, в противном случае нужно вернуть строку `'Try again!'`. +В викторине загадано число 42. Участник называет число, и программа сразу говорит — угадал он или нет. Реализуйте функцию `guess_number()`, которая принимает число и проверяет, равно ли оно 42. Если равно — возвращает `'You win!'`, иначе — `'Try again!'`. ```python guess_number(42) # You win! diff --git a/modules/48-conditionals/60-ternary-operator/ru/EXERCISE.md b/modules/48-conditionals/60-ternary-operator/ru/EXERCISE.md index 43a02bcd..e082ca39 100644 --- a/modules/48-conditionals/60-ternary-operator/ru/EXERCISE.md +++ b/modules/48-conditionals/60-ternary-operator/ru/EXERCISE.md @@ -1,4 +1,4 @@ -Реализуйте функцию `flip_flop()`, которая принимает на вход строку и, если эта строка равна `'flip'`, возвращает строку `'flop'`. В противном случае функция должна вернуть `'flip'`. +Кнопка в приложении работает как переключатель: каждое нажатие меняет состояние на противоположное. Реализуйте функцию `flip_flop()`, которая принимает на вход строку и, если эта строка равна `'flip'`, возвращает строку `'flop'`. В противном случае функция должна вернуть `'flip'`. Примеры вызова: diff --git a/modules/50-loops/80-for-in-range/ru/EXERCISE.md b/modules/50-loops/80-for-in-range/ru/EXERCISE.md index 67112b0d..576afda4 100644 --- a/modules/50-loops/80-for-in-range/ru/EXERCISE.md +++ b/modules/50-loops/80-for-in-range/ru/EXERCISE.md @@ -1,4 +1,4 @@ -Реализуйте функцию `fizzbuzz(n)`, которая возвращает строку с числами от 1 до `n`. +FizzBuzz — одно из самых известных заданий на собеседованиях для начинающих программистов. Его дают, чтобы проверить умение работать с циклами и условиями. Реализуйте функцию `fizzbuzz(n)`, которая возвращает строку с числами от 1 до `n`. При этом: