📝 Практические задания

⚡ Задания в двух словах

  • Задание 1 — найти все делители числа через while.
  • Задание 2 — вывести простые числа от 2 до N.
  • Задание 3 — проверить, содержится ли слово "Python" в строке.

🏋️ Раздел тренировки

В этом разделе вы повторите пройденное, решая практические задачи из LMS. Все три задания объединяют циклы, условия и работу со строками.

Цель тренировки: закрепить цикл while, операторы break/continue, модуль random и базовые строковые операции.

📂 Подготовка проекта

  1. Создайте папку урока внутри python-fundamentals-practice/lesson-15/.
  2. Активируйте виртуальное окружение.
  3. Создайте файл для каждого задания, например task_01_divisors.py.

Задание 1. Найди делители

Условие: напишите программу, которая запрашивает у пользователя число и выводит все его делители.

Что должно получиться:

Введите число: 12
Делители числа: 1, 2, 3, 4, 6, 12

Подсказка: перебирайте числа от 1 до n включительно в цикле while. Если n % candidate == 0, число является делителем.

Задание 2. Простые числа

Условие: напишите программу, которая выводит все простые числа от 2 до N (число вводится пользователем).

Что должно получиться:

Введите число: 10
Простые числа: 2, 3, 5, 7

Подсказка: для каждого числа от 2 до N проверяйте, делится ли оно на какое-либо число от 2 до его квадратного корня. Если не делится — число простое.

Задание 3. Найди подстроку

Условие: напишите программу, которая принимает от пользователя строку и проверяет, содержится ли слово "Python" в этой строке.

Что должно получиться:

Введите строку: Я учу Python!
Содержит 'Python': True

Подсказка: используйте оператор in. Для дополнительной практики попробуйте реализовать ту же проверку через цикл и срезы.

⭐ Дополнительное задание: случайный символ

Условие: напишите программу, которая генерирует случайную строку длины 10, состоящую только из строчных латинских букв.

Пример вывода:

Random string: kdjmwqpzla

Подсказка: используйте random.choice() и цикл while для накопления результата.

Проверка понимания

Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.

Вопрос 1

Как лучше использовать summary-урок?

Вопрос 2

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

Вопрос 3

Какой вопрос стоит задать себе после каждого ответа?

Вопрос 4

Какой стиль имён переменных обычно рекомендует PEP 8?

Вопрос 5

Зачем использовать f-strings в современном Python?

Вопрос 6

Когда полезен ранний возврат из функции?

Вопрос 7

Что делает аннотация типа в Python?

Вопрос 8

Как лучше обрабатывать ожидаемую ошибку преобразования?