Цикл while в Python

Python3 循环语句Операторы цикла Python3


whileявляется условным оператором цикла в Python; пока условие True, он будет продолжать выполнять тело цикла.

иforОтличается,whileцикл больше подходит для сценариев, когда число итераций неизвестно и нужно выйти по условию.

Пояснение слова: whileОн означает "while...", указывая на непрерывное выполнение, пока условие истинно.


Базовый синтаксис и параметры

Формат синтаксиса

while 条件:
    # 循环体(必须缩进)
    语句1
    语句2
    ...
else:
    # 可选,当循环“正常结束”时执行
    语句1
    语句2
    ...

Описание синтаксиса

  • Условие: Условное выражение, вычисляемое перед каждой итерацией цикла.
  • Логика выполнения: Когда оно равно True, выполняется тело цикла, затем условие вычисляется повторно.
  • Условие выхода: Когда условие равно False, выполняется выход из цикла.

Ветка else

  • Необязательно: Подобно for, while также может иметь else.
  • Момент выполнения: Выполняется, когда условие становится False (нормальный выход).


Примеры

Пример 1: Базовое использование

Примеры

# Базовый цикл while
count = 0

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

print("Цикл завершён")

Ожидаемый вывод:

0
1
2
3
4
循环结束

Пояснение к коду:

  1. Продолжайте цикл, пока count < 5.
  2. Каждая итерация увеличивает count на 1.
  3. Когда 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

Примеры

# 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 循环语句Операторы цикла Python3

Другие расширения