Python ist eine der beliebtesten Programmiersprachen, die viele Möglichkeiten bietet, mit Schleifen zu arbeiten. Es besteht oft die Notwendigkeit, die Ausführung einer Schleife zu unterbrechen, wenn eine bestimmte Bedingung erfüllt ist oder wenn der Benutzer das Programm manuell mit einer Taste auf der Tastatur beenden möchte. In diesem Artikel werden wir uns verschiedene Möglichkeiten ansehen, eine Schleife in Python mit der Tastatur zu stoppen.
Eine Möglichkeit, die Schleife zu stoppen, besteht darin, ein Modul zu verwenden keyboard. Mit diesem Modul können Sie die Tastatur Ihres Computers mithilfe von Python-Code steuern. Um das Keyboard-Modul verwenden zu können, müssen Sie es zuerst mit dem Befehl installieren pip install keyboard. Dann können Sie mit der Verwendung beginnen.
Um die Schleife mit dem Keyboard-Modul zu beenden, müssen Sie eine Bedingung für die Ausführung der Anweisung angeben while oder for. Innerhalb der Schleife muss die Funktion verwendet werden keyboard.is_pressed(), die zurückgibt True, wenn die angegebene Taste gedrückt wird, und False anderenfalls. Die Überprüfung dieser Funktion muss sich innerhalb einer Schleifenbedingung befinden, wie im folgenden Beispiel gezeigt:
In diesem Beispiel wird eine Schleife ausgeführt, bis die Taste 'q' gedrückt wird. Wenn Sie die Taste 'q' drücken, wird die Schleife angehalten und das Programm wird beendet. Auf diese Weise können Sie das Programm zur Laufzeit über die Tastatur steuern und Schleifen flexibler verwenden.
Wie unterbricht man eine Schleife in Python
Python bietet mehrere Möglichkeiten, die Ausführung einer Schleife bei Bedarf zu unterbrechen. In diesem Abschnitt betrachten wir zwei grundlegende Methoden.
-
Verwenden der break-Anweisung Mit der break-Anweisung können Sie die Schleife sofort beenden und mit der nächsten Anweisung fortfahren. Sie wird normalerweise innerhalb einer bedingten Anweisung verwendet, um die Schleife zu verlassen, wenn eine bestimmte Bedingung erfüllt ist.
while True:num = int(input("Введите число: "))if num == 0:breakprint(num)
flag = Falsewhile not flag:num = int(input("Введите число: "))if num == 0:flag = Trueprint(num)
Dies sind die grundlegenden Methoden zum Unterbrechen einer Schleife in Python. Sie können die Methode wählen, die am bequemsten und für Ihre spezielle Aufgabe am besten geeignet ist.
Grundlagen
In der Programmiersprache Python gibt es mehrere Möglichkeiten, eine Schleife mit der Tastatur zu stoppen. Die Taste, mit der das Programm beendet wird, kann je nach Betriebssystem variieren.
Eine Möglichkeit besteht darin, ein Modul zu verwenden keyboard. Um dieses Modul verwenden zu können, müssen Sie es mit dem Befehl vorinstallieren pip install keyboard.
Nach der Installation des Moduls keyboard, Sie können es importieren und die Funktion verwenden is_pressed um zu bestimmen, wie eine Taste gedrückt wird. Zum Beispiel, um die Schleife zu stoppen, wenn Sie eine Taste drücken Esc Sie können den folgenden Code verwenden:
import keyboardwhile True:# код циклаif keyboard.is_pressed('Esc'):break
In diesem Beispiel ist die Funktion is_pressed wird die Wahrheit zurückgeben, wenn die Taste Esc wurde angeklickt und die Schleife wird mit einem Schlüsselwort unterbrochen break.
Eine andere Möglichkeit ist die Verwendung eines Moduls msvcrt. Dieses Modul ist nur unter Windows verfügbar und ermöglicht das Lesen von Tastatureingaben direkt von der Konsole aus. Zum Beispiel, um die Schleife zu stoppen, wenn Sie eine Taste drücken Esc Sie können den folgenden Code verwenden:
import msvcrtwhile True:# код циклаif msvcrt.kbhit() and msvcrt.getch() == b'\x1b':break
In diesem Beispiel ist die Funktion kbhit überprüft, ob eine Taste gedrückt wird, und die Funktion getch ruft den Wert der gedrückten Taste ab. Wenn eine Taste gedrückt wird Esc. die Schleife wird mit einem Schlüsselwort unterbrochen break.
Jede Methode hat ihre eigenen Merkmale und Einschränkungen, daher hängt die Wahl einer bestimmten Methode zum Stoppen des Zyklus über die Tastatur von der jeweiligen Situation und dem Betriebssystem ab.
Verwenden von bedingten Operatoren
Die am häufigsten verwendete bedingte Anweisung ist if . Es prüft, ob die angegebene Bedingung wahr ist, und führt einen bestimmten Codeblock nur aus, wenn die Bedingung wahr ist. Schauen wir uns ein Beispiel an:
number = 10if number > 0:print("Число положительное")
Wenn die Variable number größer als Null ist, wird in diesem Beispiel die Meldung "Zahl ist positiv" angezeigt. Wenn der Wert der Variablen kleiner oder gleich Null ist, wird der Codeblock innerhalb der if-Bedingung übersprungen.
Andere nützliche Bedingungsoperatoren sind elif und else . Mit der bedingten elif-Anweisung können Sie mehrere Bedingungen nacheinander überprüfen und einen bestimmten Code gemäß der ersten Bedingung ausführen, die erfüllt wurde. Wenn keine der Bedingungen erfüllt ist, können Sie die bedingte else-Anweisung verwenden, um den Standardcode auszuführen.
number = 0if number > 0:print("Число положительное")elif number < 0:print("Число отрицательное")else:print("Число равно нулю")
Wenn die Variable number größer als Null ist, wird in diesem Beispiel die Meldung "Zahl ist positiv" angezeigt. Wenn der Wert kleiner als Null ist, wird die Meldung "Zahl ist negativ" angezeigt. Andernfalls wird die Meldung "Zahl ist Null" angezeigt, wenn der Wert Null ist.
Durch die Verwendung von bedingten Anweisungen können Sie die Programmiermöglichkeiten in Python erheblich erweitern, indem Sie Code schreiben können, der Entscheidungen trifft und bestimmte Aktionen basierend auf bestimmten Bedingungen ausführt.
Verwenden eines speziellen Befehls
Es gibt einen speziellen Befehl in Python break Damit können Sie die Ausführung der Schleife erzwingen. Wenn das Team break tritt innerhalb eines Zyklus auf, wird die Ausführung des Zyklus sofort beendet und die Kontrolle wird außerhalb des Zyklus übertragen.
So verwenden Sie den Befehl break um den Zyklus über die Tastatur zu beenden, müssen Sie den Zustand der Taste mithilfe einer Bedingung überprüfen. Sie können beispielsweise ein Modul verwenden msvcrt und Funktion kbhit, die True zurückgibt, wenn eine beliebige Taste gedrückt wird, andernfalls False.
import msvcrtwhile True:if msvcrt.kbhit():break
In diesem Beispiel wird der Zyklus fortgesetzt, bis eine beliebige Taste auf der Tastatur gedrückt wird. Wenn dies geschieht, Befehl break stoppt die Ausführung der Schleife.
Sie können auch andere Methoden und Module verwenden, um die Tastenanschläge zu überprüfen, z. B. ein Modul keyboard oder Funktion msvcrt.getch. Es ist wichtig sich daran zu erinnern, dass diese Methoden plattformabhängig sein können und die Installation zusätzlicher Module erfordern.
Verwenden eines speziellen Befehls break ermöglicht es Ihnen, die Schleife in Python mit der Tastatur zu stoppen und dem Benutzer die Kontrolle über die Ausführung des Programms zu geben.
Behandeln von Ausnahmen
In Python werden Ausnahmen durch Klassen dargestellt und können vom Programm selbst oder durch integrierte Funktionen und Methoden generiert werden. Verwenden Sie das try-except-Konstrukt, um Ausnahmen zu behandeln.
Mit dem try-except-Konstrukt können Sie einen Codeblock ausführen, der möglicherweise eine Ausnahme auslösen kann, und ihn im Falle eines Auftretens abfangen. Der try-Block enthält den Code, der ausgeführt werden soll, und der except-Block gibt den Code an, der ausgeführt werden soll, wenn eine Ausnahme auftritt.
Beispiel für die Verwendung des try-except-Konstrukts zum Behandeln einer ZeroDivisionError-Ausnahme :
try:result = 10 / 0except ZeroDivisionError:print("Деление на ноль невозможно")
Wenn beim Ausführen des Codes im try-Block eine ZeroDivisionError-Ausnahme auftritt, springt das Programm zum except-Block und führt den Code darin aus. In diesem Fall wird die Meldung "Division durch Null ist nicht möglich" angezeigt.
try-except-Konstrukte können mehrere except-Blöcke enthalten, um verschiedene Ausnahmetypen zu behandeln. Sie können auch einen else-Block verwenden, der ausgeführt wird, wenn im try-Block keine Ausnahme aufgetreten ist:
try:result = 10 / 0except ZeroDivisionError:print("Деление на ноль невозможно")except TypeError:print("Неправильный тип данных")else:print("Все прошло успешно")
Wenn in diesem Beispiel eine ZeroDivisionError-Ausnahme auftritt, wird die Meldung "Division durch Null ist nicht möglich" ausgegeben. Wenn eine TypeError-Ausnahme auftritt, wird die Meldung "Ungültiger Datentyp" ausgegeben. Andernfalls wird der Else-Block ausgeführt und die Meldung "Alles ist erfolgreich" angezeigt.
Sie können auch einen finally-Block verwenden, der auf jeden Fall ausgeführt wird, unabhängig davon, ob eine Ausnahme aufgetreten ist oder nicht:
try:result = 10 / 0except ZeroDivisionError:print("Деление на ноль невозможно")finally:print("Выполняется всегда")
In diesem Beispiel wird die Meldung "Division durch Null ist nicht möglich" und "Immer ausgeführt" angezeigt, da der finally-Block ausgeführt wird, unabhängig davon, ob eine Ausnahme aufgetreten ist oder nicht.
Mit dem try-except-Konstrukt können Sie den Fortschritt des Programms flexibler steuern und verhindern, dass das Programm bei Ausnahmefehlern unerwartet beendet wird.
Verwenden von Flags
Zu Beginn des Programms wird das Flag mit dem Wert "True" initialisiert. Die Schleife wird ausgeführt, solange das Flag "True" ist. Wenn Sie eine bestimmte Taste drücken, wird das Flag auf "False" umgeschaltet, wodurch die Schleife angehalten und beendet wird.
Beispiel für die Verwendung eines Flags:
flag = True while flag: # Code if keyboard.is_pressed('q'): # Überprüfen, ob die Taste gedrückt wird 'q' flag = False
In diesem Beispiel wird die Schleife ausgeführt, solange die Variable "flag" auf "True" gesetzt ist. Wenn Sie die Taste 'q' drücken, wird das Flag auf 'False' umgeschaltet, wodurch die Schleife angehalten wird.
Die Verwendung von Flags ist eine universelle und bequeme Möglichkeit, eine Schleife in Python mit der Tastatur zu stoppen. Es ermöglicht Ihnen, die Programmausführung genau zu steuern und auf Tastatureingaben des Benutzers zu reagieren.