🏋️ Раздел тренировки
В этом разделе вы пошагово выполните практические задания: от создания файла до рабочей программы в VS Code.
while и проверять результат в терминале.
📂 Подготовка проекта
- Создайте папку урока внутри
python-fundamentals-practice/lesson-13/. - Активируйте виртуальное окружение.
- Создайте файл для каждого задания, например
task_01_rounding.py.
Задание 1. Округление вверх и вниз
Условие: напишите программу, которая принимает число с плавающей запятой и выводит результат округления вверх и вниз.
Что должно получиться:
Введите число: 4.3
Округление вверх: 5
Округление вниз: 4
Подсказка: используйте math.ceil и math.floor.
Задание 2. Сумма чисел
Условие: напишите программу, которая принимает число от пользователя и выводит сумму чисел от 1 до самого числа.
Что должно получиться:
Введите число: 5
Сумма чисел от 1 до 5 = 15
Подсказка: используйте переменную total и цикл while от 1 до n.
Задание 3. Счётчик факториала
Условие: напишите программу, которая рассчитывает факториал заданного числа двумя способами. Выведите оба результата и сравните, равны ли они.
Что должно получиться:
Введите число: 5
Факториал числа 5 первым способом: 120
Факториал числа 5 вторым способом: 120
Результаты равны? True
Подсказка: первый способ — цикл while, второй — math.factorial.
Задание 4. Симулятор кассы
Условие: напишите программу, которая принимает цены товаров до ввода 0. Программа должна рассчитать общую сумму, округлённую до целого, определить сумму к оплате купюрами по 100 евро и вывести сдачу.
Что должно получиться:
Введите цену товара: 45.50
Введите цену товара: 29.99
Введите цену товара: 22.49
Введите цену товара: 0
Сумма покупки: 98 евро
Покупатель передал: 100 евро
Сдача: 2 евро
Подсказка: используйте while True с break и функции round и math.ceil.
Задание 5. Учёт доходов и расходов
Условие: напишите программу, которая принимает положительные и отрицательные значения и останавливается при вводе 0. Программа должна рассчитать сумму доходов, расходов и итоговый баланс.
Что должно получиться:
Введите доход, расход или '0' для получения итога: 15000
Введите доход, расход или '0' для получения итога: -5000
Введите доход, расход или '0' для получения итога: -3000
Введите доход, расход или '0' для получения итога: 0
Доходы: 15000
Расходы: 8000
Итоговый баланс: 7000
Подсказка: положительные значения накапливайте в income, отрицательные — в expenses.
Задание 6. Последовательности Фибоначчи
Условие: напишите программу, которая выводит первые n чисел последовательности Фибоначчи. Число n вводит пользователь.
Что должно получиться:
Введите количество чисел: 7
0 1 1 2 3 5 8
Подсказка: используйте параллельное присваивание a, b = b, a + b.
Задание 7. Число Армстронга
Условие: напишите программу, которая запрашивает целое число и проверяет, является ли оно числом Армстронга. Число Армстронга равно сумме своих цифр, возведённых в степень, равную количеству цифр.
Что должно получиться:
Введите число: 153
Число 153 является числом Армстронга.
Введите число: 123
Число 123 не является числом Армстронга.
Подсказка: сначала посчитайте количество цифр, затем — сумму их степеней.
Задание 8. Угадай за 5 попыток
Условие: напишите программу, которая генерирует случайное число от 1 до 10 и просит пользователя угадать его за 5 попыток. Если пользователь не угадывает, программа выводит загаданное число.
Что должно получиться:
Попробуйте угадать число от 1 до 10: 10
Неверно! У вас осталось 4 попытки.
Попробуйте угадать число от 1 до 10: 3
Неверно! У вас осталось 3 попытки.
Попробуйте угадать число от 1 до 10: 7
Поздравляем! Вы угадали число.
Подсказка: используйте random.randint(1, 10) и счётчик попыток.
Задание 9. Определение простого числа
Условие: напишите программу, которая запрашивает число и определяет, является ли оно простым. Число простое, если оно больше 1 и имеет только два делителя: 1 и само себя.
Что должно получиться:
Введите число: 29
Число 29 является простым.
Введите число: 15
Число 15 не является простым.
Подсказка: достаточно проверять делители от 2 до квадратного корня из числа.
Задание 10. Упорядоченность цифр
Условие: напишите программу, которая получает натуральное число и определяет, являются ли его цифры упорядоченными по возрастанию.
Что должно получиться:
Введите число: 1347
Цифры упорядочены по возрастанию.
Введите число: 1523
Цифры не упорядочены по возрастанию.
Подсказка: извлекайте цифры справа налево и сравнивайте каждую с предыдущей.
Дополнительное задание 11. Сумма цифр
Условие: напишите программу, которая вычисляет сумму цифр введённого числа.
Что должно получиться:
Введите число: 12345
Сумма цифр: 15
Подсказка: используйте % 10 и // 10 в цикле while.
Дополнительное задание 12. Перевёрнутое число
Условие: напишите программу, которая выводит число, записанное цифрами в обратном порядке.
Что должно получиться:
Введите число: 1234
Перевёрнутое число: 4321
Подсказка: на каждой итерации добавляйте последнюю цифру к результату, умножая его предварительно на 10.