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

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

Задача «Поиск элемента в строке»

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

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib
В небольшом краевом городке, известном своими ежегодными фестивалями, каждый год организаторы сталкиваются с задачей быстрого доступа к информации для участников. Напишите программу, которая проверяет, содержит ли строка заданный элемент. Если элемент найден, программа выводит его индекс, иначе выводит сообщение о том, что элемент не найден.
 
Пример:
Input:
            "1, 3, 5, 7, 9" 9
Output:
            Элемент 9 найден в строке на позиции 5.
 
Подсказка
В Python конструкция while может иметь блок else, который выполняется, когда цикл завершается нормально (т.е. без использования break).
while условие:
    # тело цикла
    ...
else:
    # блок else
    ...
 
Пример использования
Рассмотрим простой пример, где мы ищем число в списке. Если число найдено, мы прерываем цикл с помощью break. Если же цикл завершился без прерывания, выполняется блок else:
numbers = [1, 2, 3, 4, 5]
target = 3

index = 0
while index < len(numbers):
    if numbers[index] == target:
        print(f"Найден {target} по индексу {index}.")
        break
    index += 1
else:
    print(f"{target} не найден в списке.")
Цикл while начинается и выполняется, пока условие index < len(numbers) истинно.
Внутри цикла мы проверяем, равен ли текущий элемент списка target.
Если находим нужное значение, выводим сообщение и прерываем цикл с помощью break.
Если цикл завершается нормальным образом (то есть без break), выполняется блок else, который сообщает, что значение не найдено в списке.
 
Блок else без break
Если блок else используется без break внутри цикла, он всегда будет выполняться по завершении цикла:
count = 0
while count < 5:
    print(count)
    count += 1
else:
    print("Цикл завершился без прерывания")
Здесь цикл while выполняется, пока count меньше 5. После завершения цикла (когда count становится равным 5), выполняется блок else.
 
Вывод
Конструкция while....else полезна для выполнения кода после завершения цикла только в случае, если цикл не был прерван с помощью break. Это может быть полезно в различных алгоритмах поиска, проверки условий и других подобных задачах.
Solution
Входные данные
Выходные данные

Тесты

2 3 6 1 1
2 3 6 1 1
2 3 6 1 1
2 3 6 1 1
2 3 6 1 1
2 3 6 1 1

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

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

AD

Реклама

red-snake blue-snake green-snake

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