💻 Практические примеры

⚡ Минимальный рабочий пример

i = 1
while i <= 5:
    print(i)
    i += 1

Этот код выводит числа от 1 до 5. Убедитесь, что переменная цикла меняется внутри тела, иначе цикл будет бесконечным.

Пример 1: Счётчик от 1 до 5

Классический счётчик с инициализацией, условием и инкрементом.

📄 examples/counter.py
i = 1
while i <= 5:
    print(i)
    i += 1

Что происходит:

  1. i начинается с 1.
  2. На каждой итерации выводится значение i.
  3. i += 1 увеличивает счётчик на единицу.
  4. Когда i становится 6, условие i <= 5 ложно и цикл завершается.

Пример 2: Обратный отсчёт

Программа запрашивает начальное число и выводит обратный отсчёт до 1, после чего печатает финальное сообщение.

📄 examples/countdown.py
start = int(input("Enter start number: "))

while start > 0:
    print(start)
    start -= 1

print("Countdown finished!")

Пример работы:

Enter start number: 3
3
2
1
Countdown finished!

Пример 3: Сумма положительных чисел

Программа запрашивает числа, суммирует только положительные и завершается по вводу 0.

📄 examples/sum_positive.py
total = 0

while True:
    num = int(input("Enter a number (0 to stop): "))
    if num == 0:
        break
    if num < 0:
        continue
    total += num

print(f"Total sum of positive numbers: {total}")

Логика:

  • Бесконечный цикл while True держит программу активной.
  • break выходит из цикла при вводе 0.
  • continue пропускает отрицательные числа.
  • Положительные числа накапливаются в переменной total.

Пример 4: break и continue в одном цикле

Демонстрация совместного использования break и continue.

📄 examples/break_and_continue.py
i = 0
while i < 10:
    i += 1
    if i == 3:
        continue  # skip 3
    if i == 7:
        break     # stop at 7
    print(i)
# Output: 1 2 4 5 6

Пример 5: while/else

Блок else выполняется, если цикл завершился без break.

📄 examples/search_while_else.py
target = 7
i = 1

while i <= 5:
    if i == target:
        print(f"Found {target}!")
        break
    i += 1
else:
    print(f"{target} was not found.")

# Output: 7 was not found.

Пример 6: Скелет игры «Угадай число»

Базовая структура игры: компьютер загадывает число от 1 до 100, у пользователя 10 попыток.

📄 examples/guess_number_skeleton.py
import random

secret = random.randint(1, 100)
attempts = 10
attempts_used = 0

print("Guess the number from 1 to 100. You have 10 attempts.")

while attempts_used < attempts:
    guess = int(input("Your guess: "))
    attempts_used += 1

    if guess == secret:
        print(f"Congratulations! You guessed it in {attempts_used} attempts.")
        break
    if guess < secret:
        print("The secret number is greater.")
    else:
        print("The secret number is less.")
else:
    print(f"You ran out of attempts. The secret number was {secret}.")

Полная версия игры с оценкой результата — в разделе 🏠 Домашнее задание.

Пример 7: Случайные числа

📄 examples/random_demo.py
import random

print("Random float:", random.random())
print("Dice roll:", random.randint(1, 6))
print("Random percent:", random.randrange(0, 101, 10))

Как запустить в VS Code

  1. Создайте файл example.py в папке урока.
  2. Скопируйте код из примера выше.
  3. Откройте терминал в VS Code (Ctrl + `).
  4. Убедитесь, что активировано виртуальное окружение: venv\Scripts\activate (Windows) или source venv/bin/activate (Mac/Linux).
  5. Запустите: python example.py