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

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

  • Задание 1 — вывести числа от 1 до N через range().
  • Задание 2 — факториал числа через цикл for.
  • Задание 3 — прямоугольник из звёздочек с вложенными циклами.
  • Задание 4 — проверка простого числа с for/else.
  • Задание 5 — подсчёт букв и цифр в строке.

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

В этом разделе вы пошагово выполните практические задания: от создания файла до рабочей программы в VS Code.

Цель тренировки: научиться использовать цикл for, функцию range(), операторы break и continue, вложенные циклы и обрабатывать пользовательский ввод.

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

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

Задание 1. Числа от 1 до N

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

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

Введите N: 5
1
2
3
4
5

Подсказка: используйте range(1, n + 1).

Задание 2. Факториал числа

Условие: напишите программу, которая находит факториал числа, введённого пользователем, и выводит его на экран. Не используйте модуль math. Факториал числа — это произведение всех натуральных чисел от 1 до самого числа включительно.

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

Введите число: 5
Факториал числа 5 равен 120

Подсказка: инициализируйте переменную factorial = 1 и умножайте её на каждое число от 1 до n.

Задание 3. Звёздный прямоугольник

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

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

Введите ширину: 5
Введите высоту: 3
*****
*****
*****

Подсказка: внешний цикл отвечает за строки, внутренний — за символы в строке. После внутреннего цикла переходите на новую строку.

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

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

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

Введите число: 11
Является простым
--------------------------
Введите число: 12
Не является простым

Подсказка: используйте for/else. Если нашёлся делитель, выведите результат и прервите цикл через break. Блок else выполнится, если делителей не было.

Задание 5. Буквы и цифры (★ дополнительное)

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

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

Введите строку: Python 3.12
Букв: 6
Цифр: 4

Подсказка: используйте методы строк .isalpha() и .isdigit() внутри цикла for letter in text.

🧩 Задания для закрепления из источника

Вопрос 1. Какой результат выведет следующий код?

text = "Hello"
for letter in text:
    print(letter, end="")

Ответ: Hello — потому что end="" отключает перевод строки.

Вопрос 2. Какой результат выведет следующий код?

for i in range(10, 0, -2):
    print(i)

Ответ: числа 10 8 6 4 2 на разных строках. 0 не включается, потому что stop не входит в диапазон.

Вопрос 3. Какой результат выведет следующий код?

for letter in "Python":
    if letter == "h":
        break
    print(letter, end=" ")
else:
    print("Цикл завершён нормально.")

Ответ: P y t. Цикл прерывается на h, поэтому блок else не выполняется.

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

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

Вопрос 1

Что такое класс?

Вопрос 2

Что означает self?

Вопрос 3

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

Вопрос 4

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

Вопрос 5

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

Вопрос 6

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

Вопрос 7

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