Статья Автор: Деникина Н.В., Деникин А.В.

Python. Цикл while

Цикл while — это конструкция в программировании, которая повторяет блок кода пока выполняется какое-то условие.

📌 Простой пример:

x = 1
while x <= 5:  # Пока x меньше или равен 5
    print(x)   # Выводим x
    x += 1     # Увеличиваем x на 1

Что произойдет?

  1. x = 1 → печатаем 1

  2. x = 2 → печатаем 2
    ...

  3. x = 5 → печатаем 5

  4. x = 6 → условие x <= 5 ложно → цикл останавливается.

Вывод:

1
2
3
4
5

🔢 Примеры работы с цифрами числа

1️⃣ Разделить число на цифры

number = 1234
while number > 0:
    digit = number % 10  # Берём последнюю цифру
    print(digit)
    number = number // 10  # Убираем последнюю цифру

Вывод:

4
3
2
1

2️⃣ Посчитать сумму цифр

number = 567
sum_digits = 0
while number > 0:
    sum_digits += number % 10
    number = number // 10
print("Сумма цифр:", sum_digits)

Вывод:

Сумма цифр: 18  # (5 + 6 + 7)

🔢 Перевод между системами счисления

1️⃣ Из десятичной в двоичную

n = 10  # Число в десятичной системе
binary = ""  # Сюда запишем двоичное число

while n > 0:
    binary = str(n % 2) + binary  # Добавляем остаток в начало
    n = n // 2  # Делим на 2

print("Двоичное число:", binary)

Вывод:

Двоичное число: 1010  # (10 в двоичной системе)

2️⃣ Из двоичной в десятичную

binary = "1010"  # Двоичное число
decimal = 0
power = 0  # Степень двойки

# Идём с конца строки
i = len(binary) - 1
while i >= 0:
    digit = int(binary[i])  # Берём очередную цифру
    decimal += digit * (2 ** power)  # Умножаем на 2^степень
    power += 1
    i -= 1  # Переходим к предыдущей цифре

print("Десятичное число:", decimal)

Вывод:

Десятичное число: 10  # (1010₂ = 10₁₀)

⚠️ Важно!

Если условие в while всегда True, то цикл будет бесконечным!

# Бесконечный цикл (не запускай!)
while True:
    print("Этот код никогда не остановится!")
Печать