Добавил:
свои люди в ТПУ Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛК / lec-01.pdf
Скачиваний:
1
Добавлен:
14.01.2026
Размер:
16.72 Mб
Скачать

Примеры использования цикла while

i = 0

while i < 10: i += 1

print(i, end='.')

print()

# 1.2.3.4.5.6.7.8.9.10.

Счетчик i инициализируется значением 0 , которое меньше 10 , поэтому начинается выполнение цикла while .

На каждой итерации i увеличивается на единицу, и это значение выводится.

Когда значение i становится равным 10 на следующей итерации, проверка условия i < 10 дает результат False : цикл завершается, и выполнение продолжается за пределами тела цикла, где команда print() выводит символ перехода на новую строку.

Слайд 36/46

Примеры использования цикла while

Алгоритм Евклида для поиска наибольшего общего делителя двух чисел:

a, b = 1071, 462

while b:

a, b = b, a % b print(a) # 21

Цикл продолжается, пока при делении a на b получается остаток, на каждой итерации b присваивается остаток от целочисленного деления a // b , затем

a присваивается старое значение b .

Целое значение 0 интерпретируется как логическое значение False , поэтому условие цикла while b: в данном случае равнозначно while b != 0: .

Слайд 37/46

Оператор цикла for

Оператор for ... in также является оператором цикла, который осуществляет итерацию по последовательности объектов, т.е. проходит через каждый элемент в последовательности.

Последовательность – это упорядоченный или неупорядоченный набор элементов.

Во многих случаях в заголовке цикла for используется функция range() , которая является генератором арифметических прогрессий:

for i in range(10): # 10 не включительно print(i, end=' ') # 0 1 2 3 4 5 6 7 8 9

for i in range(1, 11): # можно задать начальное значение print(i, end=' ') # 1 2 3 4 5 6 7 8 9 10

for i in range(0, 11, 2): # также можно менять шаг print(i, end=' ') # 0 2 4 6 8 10

Слайд 38/46

Вложенные циклы for

Операторы цикла for могут быть вложены друг в друга на произвольную глубину:

for i in range(3):

for j in range(3): if i != j:

print(i, j, round(1 / (i + j), 2))

#0 1 1.0

#0 2 0.5

#1 0 1.0

#1 2 0.33

#2 0 0.5

#2 1 0.33

Слайд 39/46

Операторы break , continue , pass и

конструкция else цикла

Соседние файлы в папке ЛК