• 1
    Entrada y salida de datos
    • Tareas
  • 2
    Condiciones
    • Tareas
  • 3
    Bucle for
    • Tareas
  • 4
    Cadenas de texto
    • Tareas
  • 5
    Bucle while
    • Tareas
  • 6
    Listas
    • Tareas
  • 7
    Matrices 2D
    • Tareas
  • 8
    Diccionarios
    • Tareas
  • 9
    Conjuntos
    • Tareas
  • 10
    Funciones y recursión
    • Tareas
  • к

Lección 5. While cycle

Dificultad:

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

Tarea«Suma de cuadrados»

💻 Python

Trabajas como ingeniero en un laboratorio secreto y pruebas el nuevo módulo informático "Quadron". El módulo acepta comandos en forma de líneas de texto a través de la consola. Tu tarea & mdash; Escribir un programa en Python que emule el funcionamiento de este módulo.

rn

El simulador debe funcionar en un ciclo, esperando constantemente un comando hasta que se complete el trabajo.

rn

Comandos del módulo:

rn
  • rn
  • set < number > : Este comando establece el límite superior de cálculos & nbsp; n . Por ejemplo, & nbsp; set 10 & nbsp; significa que & nbsp; n & nbsp; ahora es 10. El programa debe confirmar la instalación mostrando un mensaje & nbsp; The new limit N = 10 is set. . Si el número en el comando se indica incorrectamente (por ejemplo, no es un número), el programa debe mostrar un error.
  • rn
  • calc : El simulador debe encontrar todos los números válidos en el rango de 0 a & nbsp; n & nbsp; (inclusive), elevar cada uno al cuadrado, y luego sumar todos los cuadrados resultantes. El resultado debe mostrarse en el formato & nbsp; The calculation result for n = 10: 220 . Si & nbsp; n & nbsp; aún no se ha establecido usando el primer comando, el programa debe informar un error.
  • rn
  • output : Este comando finaliza el simulador.
  • rn rn

    Necesitas crear un programa que procese correctamente estos comandos, gestione el estado (valor & nbsp; n ) y realice cálculos usando ciclos y condiciones.

    Formato de entrada

    Equipo (Cadena). Esta es una línea de texto que puede ser una de las tres: & nbsp; set & lt; number & gt; , & nbsp; calculate & nbsp; o & nbsp; output . El programa acepta comandos secuencialmente, uno tras otro.

    Formato de salida

    Respuesta del simulador (cadena). Esta es una línea de texto que depende del comando ingresado. Puede ser una confirmación, el resultado del cálculo o un mensaje de error.

    Ejemplo

    Entrada

    Instalar 10
    Calcular
    Salir

    Salida

    El nuevo límite n = 10 está establecido.
    El resultado del cálculo para n = 10: 220

    Pista

    There will be no clue here, decide for yourself!

    main.py
    Prueba 1
    Prueba 2
    Prueba 3
    Prueba 4
    Prueba 5
    Prueba 6
    Prueba 7
    Prueba 8
    Prueba 9
    Prueba 10
    Solución del desarrollador
    # Инициализируем переменную для хранения лимита 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("Неизвестная команда. Доступные команды: установить <число>, рассчитать, выход.")

    🎉 ¡Felicidades! 🎉

    ¡Has resuelto la tarea brillantemente! Era un reto difícil, pero encontraste la solución correcta. ¡Estás un paso más cerca de dominar la programación! Sigue así, cada etapa superada te hace más fuerte.

    AD

    Publicidad

    red-snake blue-snake green-snake

    Ejecutando tu código...

    Asistente de IA

    ¡Hola! Soy tu asistente de programación. Hazme cualquier pregunta sobre Python — puedo explicarte funciones, métodos y ayudarte con la tarea actual.