Цикл последовательно выводит числа от 0 до 9, каждое на новой строке. idx используется как индекс списка и после каждой итерации увеличивается на единицу.
Как работает приведённый фрагмент кода с циклом while?
Цикл последовательно выводит числа от 0 до 9, каждое на новой строке. idx используется как индекс списка и после каждой итерации увеличивается на единицу.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Что делает следующий фрагмент кода? Он использует цикл while для последовательного обхода элементов списка.
idx = 0
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
while idx < 10:
val = numbers[idx]
print(val)
idx += 1
Ответ
Цикл последовательно выводит числа от 0 до 9, каждое на новой строке. idx используется как индекс списка и после каждой итерации увеличивается на единицу.
Начальное idx равно 0. Пока оно меньше 10, код читает numbers[idx], печатает значение и увеличивает индекс. После вывода numbers[9] индекс становится 10, и цикл заканчивается.
Лучше не привязывать условие к числу элементов вручную:
while idx < len(numbers):
print(numbers[idx])
idx += 1
При удалении части элементов исходный вариант мог бы получить IndexError; вариант с len учитывает фактическую длину. Обычный for по списку здесь был бы ещё проще, если его использование разрешено.