Python while-Schleife

Python3 循环语句Python3-Schleifenanweisungen


whileist eine bedingte Schleifenanweisung in Python; solange die Bedingung True ist, wird der Schleifenkörper weiter ausgeführt.

undforAnders,whileDie Schleife eignet sich besser für Szenarien, in denen die Anzahl der Iterationen ungewiss ist und Sie je nach Bedingungen beenden müssen.

Worterklärung: whileEs bedeutet „while...“, was eine fortlaufende Ausführung anzeigt, solange die Bedingung wahr ist.


Grundlegende Syntax und Parameter

Syntaxformat

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

Syntaxbeschreibung

  • Bedingung: Der bedingte Ausdruck, der vor jeder Schleifeniteration ausgewertet wird.
  • Ausführungslogik: Wenn sie True ist, führe den Schleifenkörper aus und werte dann die Bedingung erneut aus.
  • Abbruchbedingung: Wenn die Bedingung False ist, verlasse die Schleife.

else-Klausel

  • Optional: Ähnlich wie for kann while auch ein else haben.
  • Ausführungszeitpunkt: Es wird ausgeführt, wenn die Bedingung False wird (normaler Ausstieg).


Beispiele

Beispiel 1: Grundlegende Verwendung

Beispiele

# Grundlegende while-Schleife
count = 0

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

print("Schleife beendet")

Erwartete Ausgabe:

0
1
2
3
4
循环结束

Code-Erklärung:

  1. Weiter schleifen, solange count < 5.
  2. Jede Iteration erhöht count um 1.
  3. Wenn count = 5, wird die Bedingung False und die Schleife wird verlassen.

Beispiel 2: Validierung von Benutzereingaben

Beispiele

# Validierung von Benutzereingaben simulieren
# Hinweis: Im tatsächlichen Betrieb wartet input() auf eine Benutzereingabe

# Einfaches Beispiel: Errate die Zahl
secret = 7
guess = 0

while guess != secret:
    guess = int(input("Bitte gib eine Zahl ein (7): "))
    if guess < secret:
        print("Zu klein")
    elif guess > secret:
        print("Zu groß")

print("Herzlichen Glückwunsch, du hast es erraten!")

Erwartete Ausgabe:

请输入数字 (7): 5
太小了
请输入数字 (7): 9
太大了
请输入数字 (7): 7
恭喜,猜对了!

Die while-Schleife wird oft in Szenarien verwendet, die eine Wiederholung erfordern, bis eine Bedingung erfüllt ist.

Beispiel 3: Fakultät berechnen

Beispiele

# Fakultät berechnen
n = 5
result = 1

while n > 0:
    result *= n
    n -= 1

print(f"5! = {result}")  # Ausgabe: 5! = 120

# Kumulative Summierung
total = 0
i = 1
while i <= 100:
    total += i
    i += 1
print(f"1+2+...+100 = {total}")  # Ausgabe: 5050

Erwartete Ausgabe:

5! = 120
1+2+...+100 = 5050

Wenn Sie while-Schleifen für numerische Berechnungen verwenden, achten Sie darauf, Endlosschleifen zu vermeiden.

Beispiel 4: while-else-Struktur

Beispiele

# while-else
count = 0

while count < 3:
    print(count)
    count += 1
else:
    print("Schleife normal beendet")

print("---")

# else wird bei break nicht ausgeführt
count = 0
while count < 5:
    if count == 3:
        break
    print(count)
    count += 1
else:
    print("Diese Zeile wird nicht ausgegeben")

Erwartete Ausgabe:

0
1
2
循环正常结束
---
0
1
2

Das else in while-else wird nicht ausgeführt, wenn die Schleife durch break beendet wird.

Beispiel 5: Endlosschleife und Beenden

Beispiele

# Endlosschleifen müssen mit Vorsicht verwendet werden
# Das folgende Beispiel verwendet break zum Verlassen

# Ein Menüsystem simulieren
while True:
    print("\n"=== Menü ===")
    print("1. Kontostand anzeigen")
    print("2. Einzahlen")
    print("3. Abheben")
    print("4. Beenden")

    choice = input("Bitte wählen: ")

    if choice == "1":
        print("Kontostand: 1000 Yuan")
    elif choice == "2":
        print("Einzahlungsfunktion")
    elif choice == "3":
        print("Auszahlungsfunktion")
    elif choice == "4":
        print("Vielen Dank für die Nutzung")
        break  # Schleife beenden
    else:
        print("Ungültige Auswahl")

print("Programm beendet")

Endlosschleifen kombiniert mit break können komplexe Steuerungsabläufe implementieren.

Erwartete Ausgabe:

=== 菜单 ===
1. 查看余额
2. 存款
3. 取款
4. 退出
请选择: 1
余额: 1000元

=== 菜单 ===
1. 查看余额
2. 存款
3. 取款
4. 退出
请选择: 

Python3 循环语句Python3-Schleifenanweisungen

Andere Erweiterungen