Модуль 3: Керуючі конструкції

Цикл while

📖 Теорія
Цикл while виконує блок коду, поки умова істинна.

Синтаксис:
while умова:
# тіло циклу

Важливі команди:
• break — негайно виходить із циклу
• continue — переходить до наступної ітерації

Обережно з нескінченними циклами! Переконайтеся, що умова колись стане False, інакше програма зависне.

while True — нескінченний цикл, який переривається тільки через break. Корисний для меню та інтерактивних програм.
💡 Приклад коду
Вивід:

                        
📝 ЗАВДАННЯ (3)
1.
Завдання 1: Сума чисел
10 XP
Програма просить вводити числа, доки користувач не введе 0. Після цього виводить суму всіх введених чисел (без нуля).
💡 Підказка: Використайте while True з break при введенні 0
🔓 Розв'язок:
total = 0
while True:
    num = int(input('Введіть число (0 для виходу): '))
    if num == 0:
        break
    total += num
print('Сума:', total)
Вивід:

                                

2.
Завдання 2: Вгадай число
20 XP
Загадайте число від 1 до 20 (запишіть у змінну). Дайте користувачу 5 спроб вгадати. Після кожної спроби підказуйте: 'Більше!' або 'Менше!'. Якщо вгадав — привітайте і скажіть за скільки спроб. Якщо не вгадав — скажіть відповідь.
💡 Підказка: Використайте while та лічильник спроб. Перевіряйте guess < secret або guess > secret
🔓 Розв'язок:
secret = 14
attempts = 0
max_attempts = 5
while attempts < max_attempts:
    guess = int(input('Ваша здогадка (1-20): '))
    attempts += 1
    if guess == secret:
        print(f'Вгадали за {attempts} спроб!')
        break
    elif guess < secret:
        print('Більше!')
    else:
        print('Менше!')
    print(f'Залишилось спроб: {max_attempts - attempts}')
else:
    print(f'Не вгадали. Відповідь: {secret}')
Вивід:

                                

3.
Завдання 3: Банкомат
30 XP
Напишіть програму-банкомат. Початковий баланс — 1000 грн. У циклі пропонуйте меню: 1 — перевірити баланс, 2 — зняти гроші, 3 — поповнити, 0 — вихід. При знятті перевіряйте, чи вистачає грошей.
💡 Підказка: Використайте while True з break при введенні 0. Для кожної дії використайте if/elif
🔓 Розв'язок:
balance = 1000
while True:
    print('\n1 - Баланс')
    print('2 - Зняти')
    print('3 - Поповнити')
    print('0 - Вихід')
    choice = input('Оберіть: ')
    if choice == '0':
        print('До побачення!')
        break
    elif choice == '1':
        print(f'Баланс: {balance} грн')
    elif choice == '2':
        amount = int(input('Сума зняття: '))
        if amount > balance:
            print('Недостатньо коштів!')
        else:
            balance -= amount
            print(f'Знято {amount} грн')
    elif choice == '3':
        amount = int(input('Сума поповнення: '))
        balance += amount
        print(f'Поповнено на {amount} грн')
Вивід: