Python -Überprüfung, ob das Zeichen die Nummer ist

Python -Überprüfung, ob das Zeichen die Nummer ist

Es kommt häufig zu einer Zeit, in der der Entwickler überprüfen muss, ob das vom Benutzer eingefügte Zeichen eine Nummer ist. In Python kann der Benutzer dies auf verschiedene Weise tun, einschließlich der Verwendung von einfach “IF-ELSE-Aussagen”, ASCII -Äquivalente in if-else, die isDigit () Methode und die isnumeric () Methode.

Dieser Beitrag dient als Benutzerhandbuch, um ein Zeichen gegen Zahlen zu überprüfen.

Methode 1: Verwenden von IF-ELSE-Anweisungen

Beginnend mit dem grundlegendsten Ansatz kann der Benutzer einfach die IF-ELSE-bedingten Anweisungen verwenden, um das Zeichen „0“ auf Zeichen „9“ zu überprüfen. Um diese Methode besser zu erklären, nehmen wir unten das folgende Beispiel:

charvar = '2' '
if (charvar> = '0' und Charvar <='9'):
print ("Es ist eine Nummer")
anders:
print ("Es ist keine Nummer")


In diesem obigen Code -Snippet:

    • Eine Zeichenvariable wird mit dem Zeichen '2' initialisiert.
    • Wenn die Anweisung verwendet wird, um zu überprüfen, ob das Zeichen zwischen 0 und 9 liegt.
    • Wenn das Ergebnis wahr ist, druckt es, dass es sich tatsächlich um eine Zahl handelt.
    • Ansonsten ist es keine Zahl.

Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:


Aus der Ausgabe ist deutlich zu erkennen, dass das Ergebnis tatsächlich korrekt ist. Lassen Sie uns jedoch den Wert der ändern Charvar zu etwas, das keine Zahl wie:

charvar = 'm'


Wenn der Code ausgeführt wird, wird diesmal das folgende Ergebnis erzeugt:


Der Ausgang überprüft, dass das Zeichen 'm' keine Zahl ist.

Methode 2: Verwenden von ASCII-Codes in IF-ELSE

Eine Alternative zum String/Zeichen-Vergleich in den Bedingungen für IF-ELSE-Anweisungen besteht darin, den ASCII-Codevergleich in IF-ELSE-Anweisungen zu verwenden. Um jedoch den ASCII -Code eines Charakters in Python zu erhalten, das “ord ()”Methode wird verwendet. Und zum Vergleich müssen Sie es mit den Werten von “vergleichen“48" Und "57”. Um die Arbeit dieser Methode zu demonstrieren, nehmen Sie den folgenden Code an:

charvar = '7'
if (ord (charvar)> = 48 und ord (charvar) <=57):
print ("Es ist eine Nummer")
anders:
print ("Es ist keine Nummer")


Im obigen Code:

    • Eine Zeichenvariable „Charvar“ wird mit dem Wert '7' initialisiert.
    • In den IF-Statements wird die ord () -Methode verwendet, um den ASCII-Code des Wertes von charvar zu erhalten.
    • Die ASCII wird mit Werten von 48 bis 57 verglichen, die die Zahl 0 bis 9 darstellen.
    • Das Ergebnis wird gemäß dem Ergebnis der IF -Anweisung gedruckt.

Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis auf dem Terminal erzeugt:


Nach diesen IF-ELSE-Anweisungen kann der Benutzer auch die integrierte Methode verwenden, die als nächstes abgedeckt wird.

Methode 3: Verwendung der Methode isDigit ()

Die Methode isDigit () kann mit Hilfe eines Punktbetreibers auf eine Zeichenfolge oder eine Zeichenvariable angewendet werden und wird zurückgegeben. “WAHR" oder "FALSCH”, Je nachdem, ob der Charakter eine Zahl ist oder nicht. Nehmen Sie für diese Methode einfach den folgenden Code ein:

charvar = '7'
drucken (Charvar.isDigit ())


Wenn dieser Code ausgeführt wird, erzeugt er das folgende Ergebnis am Terminal:


Dies bedeutet, dass der Charvar in der Tat eine Zahl ist. Notieren Sie sich jedoch die Einschränkung der IsDigit () -Methode, mit der sie nicht verwendet werden kann, um negative Ganzzahlen abzuziehen.

Methode 4: Verwendung der Methode isnumereric ()

Mit sehr ähnlicher Arbeit wie isDigit () kann die Isnumeric () -Methode verwendet werden, um zu überprüfen, ob ein Zeichen in einer Variablen eine Zahl ist oder nicht. Im Gegensatz zur isDigit () -Methode kann die Isnumeric () -Methode auch verwendet werden, um negative Ganzzahlwerte zu erkennen. Verwenden Sie einfach den folgenden Code, um die Funktionsweise der Isnumeric () -Methode zu testen:

charvar = '4'
drucken (Charvar.isnumeric ())


Der Code erzeugt das folgende Ergebnis:


Das Ergebnis überprüft, dass ein Charakter tatsächlich eine Zahl ist.

Bonusmethode: Verwenden von Guss- und Fehlerbehandlungen mit Typen

Wenn ein ungültiger Typkonvertierung durchgeführt wird, wird das Programm einen Fehler durchführen und stürzt ab. Der Absturz kann vermieden werden, indem Fehlerbehandlungen in der “verwendet werdenVersuche" Blöcke. Verwenden Sie den folgenden Code, um diesen Ansatz zu verwenden:

new_str = '1'
versuchen:
int (new_str)
print ("Es ist eine Nummer")
außer ValueError:
print ("Es ist keine Nummer")


In diesem kurzen Code -Snippet:

    • Die String -Variable wird mit der Methode „int ()“ in eine Ganzzahl konvertiert.
    • Wenn die Konvertierung erfolgreich ist, fordert das Programm den Benutzer auf, dass der Charakter eine Ganzzahl war.
    • Andernfalls druckt es, dass der Charakter keine Zahl ist.

Wenn dieser Code ausgeführt wird, erzeugt er das folgende Ergebnis am Terminal:


Es ging darum, zu überprüfen, ob ein Charakter eine Zahl ist oder nicht in Python.

Abschluss

Der Benutzer kann leicht prüfen, ob ein Zeichen eine Nummer ist oder nicht, indem if-else-bedingte Anweisungen, integrierte Methoden und Gussguss mit einer Fehlerbehandlungstechnik verwendet werden. Verwenden Sie für die IF-ELSE-Anweisungen einfach die Bedingung, um die Zeichen 0 bis 9 oder deren ASCII-Code zu überprüfen. Wenden Sie sie für die integrierten Methoden einfach auf die Zeichenvariable an, indem Sie einen Punktoperator verwenden.