❓ 1. Как работает while?
Цикл while повторяет блок кода, пока условие True.
🔹 Синтаксис
while условие:
действие # Обязательный отступ!
Python проверяет условие перед каждой итерацией: - если условие True → выполняет блок - если False → выходит из цикла
🔹 Пример (счётчик)
i = 1
while i <= 5:
print(i)
i += 1
📌 Вывод:
1
2
3
4
5
♾️ 2. Бесконечный цикл
while True:
print("Это бесконечный цикл!")
Если внутри цикла не менять то, что влияет на условие, цикл может тоже стать бесконечным.
🔹 Пример (плохой)
i = 1
while i <= 5:
print(i) # i никогда не меняется -> цикл бесконечный
⌨️ 3. while + input() (когда неизвестно число повторов)
🔹 Пример: ввод пароля
password = "1234"
user_input = input("Введите пароль: ")
while user_input != password:
print("Неверно, попробуйте ещё раз.")
user_input = input("Введите пароль: ")
print("Вход выполнен!")
🛑 4. break и continue в while
🛑 break - остановить цикл
while True:
cmd = input("Введите команду (exit для выхода): ")
if cmd == "exit":
break
print(f"Вы ввели: {cmd}")
⏭️ continue - пропустить итерацию
i = 0
while i < 5:
i += 1
if i == 3:
continue
print(i)
📌 Вывод:
1
2
4
5
🧩 5. else после while
Как и у for, у while может быть else.
✅ else выполняется, если цикл закончился сам (условие стало False), а не через break.
🔹 Пример без break
i = 1
while i <= 3:
print(i)
i += 1
else:
print("Цикл завершился сам (без break).")
📌 Вывод:
1
2
3
Цикл завершился сам (без break).
🔹 Пример с break
i = 1
while i <= 3:
if i == 2:
break
print(i)
i += 1
else:
print("Не сработает.")
📌 Вывод:
1
🎓 Задания
🧪 1) Сумма чисел до нуля.
Пользователь последовательно вводит целые числа.
Программа должна:
* складывать все введённые числа
* завершить работу, когда пользователь введёт число 0
* после завершения вывести общую сумму всех введённых чисел (не включая ноль)
Пример ввода:
Введите число (0 для выхода): 5
Введите число (0 для выхода): 3
Введите число (0 для выхода): 2
Введите число (0 для выхода): 0
Пример вывода:
Сумма: 10
Решение:
total = 0
while True:
x = int(input("Введите число (0 для выхода): "))
if x == 0:
break
total += x
print(f"Сумма: {total}")
🧪 2) Угадай число (мини-игра)
Программа загадывает, например, число 7.
Пользователь должен угадать это число, вводя свои варианты.
- если пользователь угадал - вывести сообщение
Верно!и завершить программу - если не угадал - вывести сообщение
Неверно, попробуйте ещё раз.и продолжить игру
📌 Задача повторяется до тех пор, пока число не будет угадано.
Пример ввода:
Угадайте число: 5
Угадайте число: 7
Пример вывода:
Неверно, попробуйте ещё раз.
Верно!
Решение:
secret = 7
while True:
guess = int(input("Угадайте число: "))
if guess == secret:
print("Верно!")
break
print("Неверно, попробуйте ещё раз.")
🧪 3) Проверка пароля
Программа должна проверить правильность ввода пароля.
Известно, что правильный пароль - python.
Пользователю даётся 3 попытки для его ввода.
Правила работы программы:
- пользователь вводит пароль
- если введённый пароль совпадает с правильным:
- вывести сообщение
Доступ разрешён - завершить работу программы
- вывести сообщение
- если пароль введён неверно:
- количество оставшихся попыток уменьшается
- если все попытки закончились и пароль так и не был угадан:
- вывести сообщение
Доступ запрещён
- вывести сообщение
Пример ввода:
Введите пароль: 123
Введите пароль: qwerty
Введите пароль: python
Пример вывода:
Доступ разрешён
Решение:
correct_password = "python"
attempts = 3
while attempts > 0:
guess = input("Введите пароль: ")
if guess == correct_password:
print("Доступ разрешён")
break
attempts -= 1
else:
print("Доступ запрещён")