Цикл while в Python
whileявляется условным оператором цикла в Python; пока условие True, он будет продолжать выполнять тело цикла.
иforОтличается,whileцикл больше подходит для сценариев, когда число итераций неизвестно и нужно выйти по условию.
Пояснение слова: whileОн означает "while...", указывая на непрерывное выполнение, пока условие истинно.
Базовый синтаксис и параметры
Формат синтаксиса
while 条件:
# 循环体(必须缩进)
语句1
语句2
...
else:
# 可选,当循环“正常结束”时执行
语句1
语句2
...
Описание синтаксиса
- Условие: Условное выражение, вычисляемое перед каждой итерацией цикла.
- Логика выполнения: Когда оно равно True, выполняется тело цикла, затем условие вычисляется повторно.
- Условие выхода: Когда условие равно False, выполняется выход из цикла.
Ветка else
- Необязательно: Подобно for, while также может иметь else.
- Момент выполнения: Выполняется, когда условие становится False (нормальный выход).

Примеры
Пример 1: Базовое использование
Примеры
count = 0
while count < 5:
print(count)
count += 1
print("Цикл завершён")
Ожидаемый вывод:
0 1 2 3 4 循环结束
Пояснение к коду:
- Продолжайте цикл, пока count < 5.
- Каждая итерация увеличивает count на 1.
- Когда count = 5, условие становится False, и цикл завершается.
Пример 2: Проверка ввода пользователя
Примеры
# Примечание: в реальной работе input() будет ожидать ввода пользователя
# Простой пример: угадай число
secret = 7
guess = 0
while guess != secret:
guess = int(input("Пожалуйста, введите число (7): "))
if guess < secret:
print("Слишком маленькое")
elif guess > secret:
print("Слишком большое")
print("Поздравляем, вы угадали!")
Ожидаемый вывод:
请输入数字 (7): 5 太小了 请输入数字 (7): 9 太大了 请输入数字 (7): 7 恭喜,猜对了!
Цикл while часто используется в сценариях, требующих повторения до выполнения условия.
Пример 3: Вычисление факториала
Примеры
n = 5
result = 1
while n > 0:
result *= n
n -= 1
print(f"5! = {result}") # Вывод: 5! = 120
# Накопительное суммирование
total = 0
i = 1
while i <= 100:
total += i
i += 1
print(f"1+2+...+100 = {total}") # Вывод: 5050
Ожидаемый вывод:
5! = 120 1+2+...+100 = 5050
При использовании циклов while для численных вычислений будьте осторожны, чтобы избежать бесконечных циклов.
Пример 4: Структура while-else
Примеры
count = 0
while count < 3:
print(count)
count += 1
else:
print("Цикл завершился нормально")
print("---")
# else не выполняется при break
count = 0
while count < 5:
if count == 3:
break
print(count)
count += 1
else:
print("This line will not be printed")
Ожидаемый вывод:
0 1 2 循环正常结束 --- 0 1 2
else в while-else не выполняется, когда цикл завершается с помощью break.
Пример 5: Бесконечный цикл и выход
Примеры
# В примере ниже используется break для выхода
# Имитация системы меню
while True:
print("\n"=== Меню ===")
print("1. Просмотреть баланс")
print("2. Пополнение")
print("3. Снятие")
print("4. Выход")
choice = input("Пожалуйста, выберите: ")
if choice == "1":
print("Баланс: 1000 yuan")
elif choice == "2":
print("Функция пополнения")
elif choice == "3":
print("Функция снятия средств")
elif choice == "4":
print("Спасибо за использование")
break # Выход из цикла
else:
print("Неверный выбор")
print("Программа завершена")
Бесконечные циклы в сочетании с break могут реализовать сложные потоки управления.
Ожидаемый вывод:
=== 菜单 === 1. 查看余额 2. 存款 3. 取款 4. 退出 请选择: 1 余额: 1000元 === 菜单 === 1. 查看余额 2. 存款 3. 取款 4. 退出 请选择:
Другие расширения
Операторы цикла Python3