Как реализовать цикл, который завершится только при определённом вводе от пользователя?

Реализация цикла, завершающегося при определенном вводе:

    
      target_input = "стоп"  # Желаемый ввод для завершения

      while True:
          user_input = input("Введите что-нибудь (или 'стоп' для выхода): ")
          if user_input == target_input:
              print("Цикл завершен.")
              break  # Выход из цикла
          else:
              print("Вы ввели:", user_input)
    
  

Этот код запрашивает ввод до тех пор, пока пользователь не введет "стоп".


Реализовать цикл, который завершается только при определенном вводе от пользователя, можно несколькими способами на Python. Вот один из наиболее распространенных и понятных:


user_input = ""  # Инициализируем переменную для хранения ввода пользователя
target_input = "exit"  # Задаем целевое значение, при котором цикл завершается

while user_input != target_input:
    user_input = input("Введите команду (или 'exit' для выхода): ")  # Получаем ввод от пользователя
    print(f"Вы ввели: {user_input}")  # Выводим то, что ввел пользователь

    # Здесь можно добавить логику, которая будет выполняться в цикле,
    # пока не будет введен target_input. Например:
    # if user_input == "help":
    #     print("Доступные команды: ...")
    # elif user_input == "run":
    #     # Выполнить какие-то действия
    #     pass
    # else:
    #     print("Неизвестная команда.")

print("Цикл завершен. Вы ввели 'exit'.")
  

Пояснения:

  • user_input = "": Инициализируем переменную user_input пустой строкой. Это необходимо, чтобы цикл while начал выполнение.
  • target_input = "exit": Определяем строку, ввод которой завершит цикл. Можно изменить это значение на любое другое.
  • while user_input != target_input:: Этот цикл while будет продолжаться до тех пор, пока user_input не будет равен target_input.
  • user_input = input("Введите команду (или 'exit' для выхода): "): Функция input() выводит сообщение в консоль и ожидает, пока пользователь что-нибудь введет и нажмет Enter. Введенное значение присваивается переменной user_input.
  • print(f"Вы ввели: {user_input}"): Это просто вывод в консоль того, что ввел пользователь.
  • Блок с комментариями: Внутри цикла можно добавить любую логику, которую необходимо выполнять, пока цикл не завершится. В примере показано, как обрабатывать различные команды.
  • print("Цикл завершен. Вы ввели 'exit'."): Сообщение, которое выводится после завершения цикла.

Другие подходы:

Можно использовать оператор break для выхода из цикла. В этом случае условие цикла всегда True, а выход осуществляется по условию внутри цикла:


while True:
    user_input = input("Введите команду (или 'exit' для выхода): ")
    if user_input == "exit":
        break  # Выход из цикла
    print(f"Вы ввели: {user_input}")
    # ... другая логика ...
print("Цикл завершен.")
  

Этот подход может быть более читаемым, если условие завершения цикла сложное и зависит от нескольких факторов.

0