• 1
    Ввод и вывод данных
    • Задачи
  • 2
    Условия
    • Задачи
  • 3
    Цикл for
    • Задачи
  • 4
    Строки
    • Задачи
  • 5
    Цикл while
    • Задачи
  • 6
    Списки
    • Задачи
  • 7
    Двумерные массивы
    • Задачи
  • 8
    Словари
    • Задачи
  • 9
    Множества
    • Задачи
  • 10
    Функции и рекурсия
    • Задачи
  • к

Занятие 5. Цикл while

Уровень сложности:

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib

Задача«Вычислительный модуль»

💻 Python
Вы инженер, тестирующий вычислительный модуль "Квадрон". Модуль принимает число и выполняет серию математических операций. Напишите программу, которая реализует логику модуля согласно заданным правилам вычислений.

Формат ввода

Команда (string). Это текстовая строка, которая может быть одной из трех: установить <число>, рассчитать или выход. Программа принимает команды последовательно, одну за другой.

Формат Вывода

Ответ симулятора (string). Это текстовая строка, которая зависит от введенной команды. Это может быть подтверждение, результат расчета или сообщение об ошибке.

Пример

Ввод

установить 10
рассчитать
выход

Вывод

Новый лимит n = 10 установлен.
Результат расчета для n=10: 220

Подсказка

Тут подсказки не будет, решай сам!

main.py
Тест 1
Тест 2
Тест 3
Тест 4
Тест 5
Тест 6
Тест 7
Тест 8
Тест 9
Тест 10
Решение разработчика
# Инициализируем переменную для хранения лимита n.
# None означает, что значение еще не было установлено пользователем.
n_limit = None

# Запускаем бесконечный цикл, который будет работать, пока пользователь не введет команду "выход".
# Это основной цикл программы, обрабатывающий команды.
while True:
    # Считываем текстовую команду, введенную пользователем с клавиатуры.
    command = input()

    # Проверяем, если пользователь ввел команду "выход".
    if command == "выход":
        # Если да, то прерываем исполнение цикла while с помощью оператора break.
        break
    # Проверяем, начинается ли введенная строка с "установить ".
    # Это позволяет нам обрабатывать команды вида "установить 10", "установить 50" и т.д.
    elif command.startswith("установить "):
        # Разбиваем введенную строку на части по пробелу. Например, "установить 10" станет списком ["установить", "10"].
        parts = command.split()
        # Проверяем, что команда состоит из двух частей и вторая часть является числом.
        if len(parts) == 2 and parts[1].isdigit():
            # Если проверка прошла, преобразуем вторую часть (которая является строкой) в целое число.
            n_limit = int(parts[1])
            # Выводим пользователю подтверждение, что лимит успешно установлен, используя f-строку для форматирования.
            print(f"Новый лимит n = {n_limit} установлен.")
        else:
            # Если формат команды неверный (например, "установить" без числа или "установить abc"), выводим ошибку.
            print("Ошибка: неверный формат команды. Используйте: установить <число>")
    # Проверяем, если пользователь ввел в точности команду "рассчитать".
    elif command == "рассчитать":
        # Прежде чем считать, проверяем, было ли значение n_limit установлено ранее.
        if n_limit is not None:
            # Если n_limit установлен, инициализируем переменную для хранения суммы квадратов.
            sum_of_squares = 0
            # Запускаем цикл for, который перебирает все числа от 0 до n_limit включительно.
            for i in range(n_limit + 1):
                # Внутри цикла проверяем, является ли текущее число i четным.
                # Деление с остатком (%) на 2 вернет 0 только для четных чисел.
                if i % 2 == 0:
                    # Если число четное, вычисляем его квадрат (i * i) и добавляем к общей сумме.
                    sum_of_squares += i * i
            # После завершения цикла выводим итоговый результат в требуемом формате.
            print(f"Результат расчета для n={n_limit}: {sum_of_squares}")
        else:
            # Если n_limit все еще равен None, значит, команду "установить" еще не вызывали.
            print("Ошибка: лимит n не установлен. Используйте команду установить <число>.")
    # Если введенная команда не совпала ни с одной из известных.
    else:
        # Сообщаем пользователю, что его команда не распознана.
        print("Неизвестная команда. Доступные команды: установить <число>, рассчитать, выход.")

🎉 Поздравляем! 🎉

Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.

AD

Реклама

red-snake blue-snake green-snake

Запускаем ваш код...

Помощник ИИ

Привет! Я твой помощник по программированию. Задавай любые вопросы по Python, я могу рассказать о функциях, методах, объяснить то, что тебе не понятно, а также о текущей задаче!