Цикл while — это один из ключевых инструментов управления потоком программы в Python. Цикл while продолжает выполняться, пока заданное условие остаётся истинным. Это делает его полезным в ситуациях, когда заранее неизвестно, сколько раз потребуется выполнить блок кода.
Синтаксис while
while условие:
тело цикла (какой-то блок кода)
Условие проверяется перед каждой итерацией (
итерация - это одно полное выполнение тела цикла), и если оно истинно (возвращает True), выполняется код тела цикла. Если условие становится ложным (возвращает False), выполнение цикла завершается.x = 0
while x < 5:
print(x)
x += 1
Бесконечные циклы и контроль выполнения
while True:
print("Этот цикл бесконечен")
Применение цикла while
while True:
user_input = input("Введите число: ")
if user_input.isdigit():
break
print("Неверный ввод")
#PyLearn
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻2 1
Функции ceil() и floor() из модуля
math округляют числа:import math
print(math.ceil(3.2)) # 4
import math
print(math.floor(3.7)) # 3
ceil(x) — округляет число вверх до ближайшего целого:
#PyTips
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻2 1
Цикл for — это основной инструмент для перебора элементов в последовательностях (списках, кортежах, строках и др.) и выполнения блока кода для каждого элемента. В Python цикл for отличается от традиционных циклов других языков программирования, где используется счётчик и условие. В Python он более гибкий и часто используется для итерации по коллекциям.
for элемент in последовательность:
тело цикла
В этом цикле переменная элемент
(у программистов принято называть ее i) последовательно принимает значения из указанной последовательности. Как только все элементы пройдены, цикл завершается.my_list = [1, 2, 3, 4, 5]
for number in my_list:
print(number)
Этот цикл перебирает каждый элемент списка и выводит его.
Важно понимать, что каждый элемент будет выведен на новую строку потому что print имеет значение '\n' (перенос на новую строку) по умолчаниюИтерация по строкам и другим коллекциям
Пример итерации по строке:
for char in "Python":
print(char)
Этот цикл выведет каждый символ (на новой строке) слова "Python".
Использование функции range()
Пример:
for i in range(5):
print(i)
Этот цикл выведет числа от 0 до 4. Важно помнить, что range() включает начальное значение (по умолчанию 0), но исключает конечное.
#PyLearn
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻3 1
👨💻2
Оператор break в Python используется для досрочного завершения цикла, когда больше не имеет смысла продолжать его выполнение. При срабатывании break цикл сразу прерывается, и управление передаётся коду, который следует после цикла.
При выполнении break Python немедленно завершает текущий цикл, вне зависимости от оставшихся итераций. Это позволяет прерывать выполнение цикла по определённым условиям, например, когда найден нужный элемент.
for i in range(10):
if i == 5:
break # Прерываем цикл, когда i равно 5
print(i)
Этот цикл завершится, когда переменная i станет равна 5, и больше не выполнит оставшиеся итерации (6–9).
1) Поиск элемента: если цикл ищет элемент в списке, и после его нахождения можно прекратить работу.
2) Прерывание бесконечных циклов: в циклах while True оператор break часто используется для выхода из бесконечного цикла по какому-то условию.
while True:
user_input = input("Введите 'exit' для выхода: ")
if user_input == 'exit':
break
#PyLearn
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻3
Функция sum() в Python упрощает суммирование чисел в итерируемых объектах, таких как списки или кортежи. Это быстрый способ сложить элементы без использования циклов.
numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
print(total) # 15
#PyTips
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻2 1
Что выведет данный код?
Anonymous Quiz
11%
5
22%
Код вызовет ошибку
67%
Цикл никогда не закончится
0%
0
👨💻1
Continue используется для пропуска текущей итерации цикла и перехода к следующей. В отличие от break, который полностью завершает цикл, continue лишь завершает текущую итерацию, позволяя циклу продолжать работу.
Как работает continue?
Пример: пропуск чётных чисел в цикле.
for i in range(10):
if i % 2 == 0:
continue # Пропускаем чётные числа
print(i)
Этот код выводит только нечётные числа: 1, 3, 5, 7, 9.
1) Фильтрация данных. continue позволяет пропускать нежелательные элементы, например, при работе с файлами, строками или списками.
2) Упрощение кода. continue позволяет упростить логические условия, избегая дополнительных проверок или вложенности.
3) Оптимизация. В сложных вычислениях можно использовать continue для пропуска лишних шагов и ускорения выполнения.
#PyLearn
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻1
В Python операторы % и // служат для работы с целочисленными операциями.
Оператор % — Остаток от деления
print(10 % 3) # Результат: 1 (остаток от деления 10 на 3)
Оператор // — Целочисленное деление
print(10 // 3) # Результат: 3 (целиком делим 10 на 3)
% часто используется для работы с цикличными значениями или проверок.
if number % 2 == 0:
print("Чётное")
// полезен, когда важен только целый результат деления, без дробной части.
Вычисление количества целых частей:
pages = total_items // items_per_page
#PyLearn
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻3 2
Что выведет данный код?
Anonymous Quiz
15%
1, 2, 0, 3
15%
3.1, 30%, 3.0, 20%
8%
Код вызовет ошибку
62%
2, 1, 3, 0
Вложенные циклы — это циклы внутри других циклов. Это мощный инструмент для работы с многомерными данными, таблицами, матрицами или сложными структурами.
Когда внешний цикл начинает итерацию, внутренний цикл выполняется полностью для каждого значения внешнего цикла. Например, если внешний цикл проходит по строкам, внутренний может обрабатывать элементы в каждой строке.
for i in range(3): # Внешний цикл
for j in range(2): # Внутренний цикл
print(f"i={i}, j={j}")
Вывод:
i=0, j=0
i=0, j=1
i=1, j=0
i=1, j=1
i=2, j=0
i=2, j=1
В этом примере внешний цикл проходит по числам от 0 до 2, а внутренний — по числам от 0 до 1 для каждого значения внешнего цикла.
Вложенные циклы можно использовать для генерации таблиц, например, таблицы умножения:
for i in range(1, 6): # Внешний цикл
for j in range(1, 6): # Внутренний цикл
print(i * j, end="\t") # Выводим произведение, \t - табуляция (четыре пробела)
print() # Переход на новую строку
Вывод:
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25
Здесь каждый цикл перемножает числа от 1 до 5, что создает таблицу умножения.
#PyLearn
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻2 1