Bei der Programmierung ist es oft notwendig zu überprüfen, ob eine Zeichenfolge nur aus Ziffern besteht. Dies kann beispielsweise nützlich sein, um Benutzereingaben in einem Formular zu validieren oder Daten aus einer Datei zu verarbeiten. In der Programmiersprache Python gibt es einige einfache Möglichkeiten, um zu überprüfen, ob nur Zahlen in einer Zeichenfolge enthalten sind. Betrachten Sie diese Methoden in diesem Artikel genauer.
Der erste Weg ist, die Methode zu verwenden isdigit(). Diese Methode prüft, ob jedes Zeichen einer Zeichenfolge aus Ziffern besteht. Wenn alle Zeichen Ziffern sind, gibt die Methode True zurück, andernfalls False. Beispiel für die Verwendung der Methode isdigit():
text = "12345" if text.isdigit(): print("Eine Zeichenfolge besteht nur aus Ziffern") else: print("Es gibt andere Zeichen als Ziffern in der Zeichenfolge")
Wenn eine Variable text enthält nur Ziffern, wird die Meldung "Eine Zeichenfolge besteht nur aus Ziffern" angezeigt. Andernfalls wird die Meldung "Es gibt andere Zeichen als Ziffern in der Zeichenfolge" angezeigt.
Der zweite Weg ist die Verwendung der Methode isdecimal(). Diese Methode prüft auch, ob jedes Zeichen einer Zeichenfolge aus Ziffern besteht. Die Methode ist jedoch isdecimal() gibt True nur für Dezimalstellen zurück (Ziffern zwischen 0 und 9). Wenn andere Zeichen in der Zeichenfolge vorhanden sind, z. B. Zahlentrennzeichen oder Satzzeichen, gibt die Methode False zurück. Beispiel für die Verwendung der Methode isdecimal():
text = "123.45" if text.isdecimal(): print("Die Zeichenfolge besteht nur aus Dezimalstellen") else: print("Es gibt andere Zeichen als Dezimalstellen in der Zeichenfolge")
Wenn eine Variable text enthält nur Dezimalstellen, wird die Meldung "Eine Zeichenfolge besteht nur aus Dezimalstellen" angezeigt. Andernfalls wird die Meldung "Es gibt andere Zeichen als Dezimalstellen in der Zeichenfolge" angezeigt.
Wie überprüfe ich eine Zeichenfolge auf nur Zahlen in Python
In Python gibt es mehrere Möglichkeiten zu überprüfen, ob eine Zeichenfolge nur aus Ziffern besteht. Betrachten wir einige von ihnen:
1. Mit der Schleife und der Funktion isdigit()
Eine der einfachsten Möglichkeiten, um zu überprüfen, ob eine Zeichenfolge nur aus Ziffern besteht, besteht darin, eine Schleife mit der Funktion isdigit() zu verwenden. Die Funktion isdigit() gibt True zurück, wenn die Zeichenfolge nur aus Ziffern besteht, andernfalls False. Beispielcode:
def check_digits(string):for char in string:if not char.isdigit():return Falsereturn Truestring = "12345"if check_digits(string):print("Строка состоит только из цифр")else:print("Строка не состоит только из цифр")
2. Verwenden eines regulären Ausdrucks
Eine andere Möglichkeit zu überprüfen, ob eine Zeichenfolge nur aus Zahlen besteht, besteht darin, einen regulären Ausdruck zu verwenden. Das re-Modul in Python ermöglicht die Arbeit mit regulären Ausdrücken. Beispielcode:
import redef check_digits(string):pattern = r'^\d+$' # регулярное выражение, которое ищет только цифрыif re.match(pattern, string):return Trueelse:return Falsestring = "12345"if check_digits(string):print("Строка состоит только из цифр")else:print("Строка не состоит только из цифр")
3. Verwenden der isnumeric() -Methode
Die dritte Möglichkeit, zu überprüfen, ob eine Zeichenfolge nur aus Ziffern besteht, besteht darin, die isnumeric() -Methode zu verwenden. Die isnumeric() -Methode gibt True zurück, wenn die Zeichenfolge nur aus Ziffern besteht, andernfalls False. Beispielcode:
def check_digits(string):if string.isnumeric():return Trueelse:return Falsestring = "12345"if check_digits(string):print("Строка состоит только из цифр")else:print("Строка не состоит только из цифр")
Sie können eine dieser Methoden wählen, abhängig von Ihren Bedürfnissen und Vorlieben. Ich hoffe, dass diese Beispiele Ihnen helfen zu überprüfen, ob eine Zeichenfolge in Python nur aus Zahlen besteht!
Einfache Möglichkeiten, eine Zeichenfolge auf nur Ziffern zu überprüfen
In Python gibt es einige einfache Möglichkeiten, um zu überprüfen, ob eine Zeichenfolge nur Zahlen enthält:
1. isdigit() -Methode: diese Methode gibt True zurück, wenn alle Zeichen in der Zeichenfolge Ziffern sind, andernfalls False.
2. Die isnumeric() -Methode: diese Methode gibt True zurück, wenn alle Zeichen in der Zeichenfolge Ziffern oder Zahlen in anderen Zahlensystemen sind, andernfalls False.
3. Regulärer Ausdruck: es ist möglich, das re-Modul in Python zu verwenden und einen regulären Ausdruck zu schreiben, der nur nach Zahlen in einer Zeichenfolge sucht. Zum Beispiel:
result = re.match(pattern, string)
print("Die Zeichenfolge enthält nur Zahlen")
print("Die Zeichenfolge enthält andere Zeichen")
Mit diesen einfachen Methoden können Sie leicht überprüfen, ob eine Zeichenfolge in Python nur aus Ziffern besteht.
Verwenden der isdigit() -Methode, um eine Zeichenfolge auf nur Ziffern zu überprüfen
Im folgenden Codebeispiel wird veranschaulicht, wie die isdigit() -Methode verwendet wird, um eine Zeichenfolge auf nur Ziffern zu überprüfen:
def is_only_digits(string): return string.isdigit() # Funktion prüfen
Im ersten Beispiel gibt die isdigit() -Methode True zurück, da alle Zeichen in der Zeichenfolge "12345" Ziffern sind. Im zweiten Beispiel gibt die Methode False zurück, da die Zeichenfolge "abc123" Zeichen enthält, die keine Ziffern sind. Im dritten Beispiel gibt die Methode auch False zurück, da der Punkt keine Ziffer ist.
Die isdigit() -Methode kann verwendet werden, um Zeichenfolgen zu überprüfen, die vorzeichenlose Ganzzahlen enthalten, unterstützt jedoch keine Überprüfung von Dezimalzahlen oder Gleitkommazahlen. Wenn Sie eine Zeichenfolge auf Dezimalzahlen oder Gleitkommazahlen überprüfen möchten, müssen Sie andere Methoden und Funktionen verwenden.
Wie Sie sehen können, ist die isdigit() -Methode ein einfaches und praktisches Werkzeug, um eine Zeichenfolge auf nur Zahlen in Python zu überprüfen. Es kann für verschiedene Aufgaben im Zusammenhang mit der Datenverarbeitung und -validierung verwendet werden, bei denen nur die Verfügbarkeit von Zahlen in einer Zeichenfolge überprüft werden muss.
Überprüfen einer Zeichenfolge mit regulären Ausdrücken auf nur Zahlen
Um zu überprüfen, dass eine Zeichenfolge nur Zahlen enthält, können Sie reguläre Ausdrücke in Python verwenden. Reguläre Ausdrücke sind Vorlagen zum Suchen und Bearbeiten von Text.
Mit dem re-Modul in Python können Sie ein String-Muster definieren, das nur aus Ziffern besteht. Durch den Aufruf der match-Methode wird dann überprüft, ob die Zeichenfolge mit dem angegebenen Muster übereinstimmt.
Im folgenden Beispielcode wird veranschaulicht, wie eine Zeichenfolge mithilfe eines regulären Ausdrucks überprüft wird:
import redef is_digit_only(string):pattern = r'^\d+$'match = re.match(pattern, string)if match:return Trueelse:return Falseprint(is_digit_only('12345')) # Trueprint(is_digit_only('12a34')) # False
In diesem Beispiel wird der reguläre Ausdruck ^\d+$ verwendet, um zu überprüfen, ob nur Ziffern vorhanden sind. Hier:
- ^ gibt den Anfang der Zeile an,
- \d steht für eine Ziffer,
- + bedeutet, dass die Ziffer 1 oder mehrmals wiederholt werden kann,
- $ bezeichnet das Ende einer Zeile.
Wenn die Zeichenfolge mit dem angegebenen Muster übereinstimmt, gibt die match-Methode ein Objekt mit Übereinstimmungsinformationen zurück. Andernfalls gibt die Methode None zurück .
Die Verwendung regulärer Ausdrücke in Python macht es daher einfach, nur nach Zahlen in einer Zeichenfolge zu suchen und basierend auf dieser Validierung eine Entscheidung zu treffen.
Verwenden einer Schleife, um eine Zeichenfolge auf nur Ziffern zu überprüfen
def check_if_digits(string):for char in string:if not char.isdigit():return Falsereturn Truestring = "12345"if check_if_digits(string):print("Строка содержит только цифры")else:print("Строка содержит символы, отличные от цифр")
In diesem Beispiel erstellen wir die Funktion check_if_digits , die eine Zeichenfolge als Argument akzeptiert. Dann durchlaufen wir jedes Zeichen in der Zeichenfolge mit einer for- Schleife. Wenn das aktuelle Zeichen keine Ziffer ist, gibt die Funktion False zurück . Wenn nach dem Durchlaufen der Schleife kein False zurückgegeben wurde, bedeutet dies, dass die Zeichenfolge nur aus Ziffern besteht und die Funktion True zurückgibt.
Vergleichen einer Zeichenfolge mit einem Ziffernsatz, um zu überprüfen, ob nur Ziffern vorhanden sind
Dazu können Sie eine Menge (set) aus Zeichen von '0' bis '9' erstellen. Vergleichen Sie dann jedes Zeichen der Zeichenfolge mit dieser Menge und prüfen Sie, ob das Zeichen in den Zahlensatz passt:
def is_digit(string):digits = set('0123456789')for char in string:if char not in digits:return Falsereturn True
Wenn alle Zeichen in einer Reihe von Ziffern vorhanden sind, gibt die Funktion True zurück. Andernfalls False.
Diese Methode ist einfach und effektiv. Es hat jedoch eine Einschränkung - es funktioniert nur mit Einzelbyte-Zeichen. Wenn eine Zeichenfolge mehrere Byte enthält, z. B. aus dem kyrillischen Alphabet, funktioniert diese Methode nicht korrekt. In solchen Fällen ist es am besten, andere Methoden zu verwenden, um zu überprüfen, ob nur Ziffern in der Zeichenfolge vorhanden sind.