🏋️ Раздел тренировки
В этом разделе вы пошагово выполните практические задания: от создания файла до рабочей программы в VS Code.
for, функцию range(), операторы break и continue, вложенные циклы и обрабатывать пользовательский ввод.
📂 Подготовка проекта
- Создайте папку урока внутри
python-fundamentals-practice/lesson-16/. - Активируйте виртуальное окружение.
- Создайте файл для каждого задания, например
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 не выполняется.