Ответ
В Python я часто использовал следующие циклы при написании скриптов для автоматизации тестов или обработки данных:
-
Цикл
while: Выполняет блок кода, пока условие истинно. Полезен, когда количество итераций заранее неизвестно.# Пример: Ожидание появления элемента на странице (упрощенно) timeout = 10 while timeout > 0 and not is_element_present("#submit"): time.sleep(0.5) timeout -= 0.5 -
Цикл
for: Основной цикл для перебора элементов итерируемого объекта (списка, строки, словаря, range).# Перебор тестовых данных из списка test_cases = ["user1", "user2", "admin"] for username in test_cases: run_login_test(username) # Использование range для фиксированного числа итераций for attempt in range(3): # Повторить действие 3 раза retry_api_call() # Перебор пар ключ-значение в словаре (например, конфигурации) config = {"browser": "chrome", "headless": True} for key, value in config.items(): print(f"{key}: {value}") -
Конструкции
break,continueиelseдля циклов:break– немедленный выход из цикла.continue– переход к следующей итерации, пропуская оставшийся код тела цикла.else(для циклов) – блок кода, который выполняется только если цикл завершился естественным образом, безbreak. Часто используется в поисковых операциях.for test_file in test_files: if not test_file.endswith('.py'): continue # Пропускаем не-Python файлы if "skip" in test_file: break # Прерываем выполнение при встрече специального файла execute_test(test_file) else: # Выполнится, если break не сработал print("Все тесты из списка обработаны.")
-
Генераторы списков (list comprehensions): Хотя это не отдельный цикл, это лаконичная замена
forдля создания списков.# Создание списка квадратов чисел squares = [x**2 for x in range(10) if x % 2 == 0] # [0, 4, 16, 36, 64]
Видео-ответы
▶
▶
▶
▶
▶
▶