Zum Hauptinhalt springen

Wie kann ich in Python feststellen, ob eine Zeichenfolge eine Zahl ist? Einfache Anleitung und Beispiele

Python - eine der beliebtesten und leistungsfähigsten Programmiersprachen der Welt. Es bietet umfangreiche Möglichkeiten für die Arbeit mit verschiedenen Datentypen, einschließlich numerischer Werte. Manchmal müssen Sie jedoch überprüfen, ob eine Zeichenfolge eine Zahl ist, bevor Sie sie in Berechnungen oder anderen Operationen verwenden.

Es gibt keine Standardmethode für die Überprüfung auf eine Zahl in Python, aber es gibt mehrere Möglichkeiten zu bestimmen, ob eine Zeichenfolge eine Zahl ist oder nicht. Eine der einfachsten Möglichkeiten ist die Verwendung einer Funktion isdigit(). Es gibt True zurück, wenn alle Zeichen in der Zeichenfolge Ziffern sind, und False, wenn es mindestens ein Zeichen gibt, das keine Ziffer ist.

Eine andere Möglichkeit besteht darin, die Funktion zu verwenden isnumeric(). Es gibt True zurück, wenn alle Zeichen in der Zeichenfolge Zahlen sind, und False, wenn es mindestens ein Zeichen gibt, das keine Zahl ist, z. B. ein Satzzeichen oder ein Buchstabe.

Sie können auch die Funktion verwenden try-except, um zu überprüfen, ob eine Zeichenfolge mit einer Methode in eine Zahl konvertiert werden kann float(). Wenn die Zeichenfolge eine Zahl ist, wird der Code im try-Block fehlerfrei ausgeführt, andernfalls wird eine ValueError-Ausnahme ausgelöst. Diese Methode ist flexibler, da Sie feststellen können, ob eine Zeichenfolge eine Dezimalzahl oder eine Gleitkommazahl ist.

Wie ermittle ich eine Zahl in Python

Beispiel für die Verwendung einer Funktion isdigit():

text = "1234" if text.isdigit(): print("String ist eine Zahl") else: print("String ist keine Zahl")

Eine andere Möglichkeit ist die Verwendung des Designs try-except. Wir können versuchen, eine Zeichenfolge mit einer Funktion in eine Zahl zu konvertieren int() und die Ausnahme abfangen, die auftritt, wenn eine Zeichenfolge nicht in eine Zahl konvertiert werden kann. Wenn keine Ausnahme auftritt, ist die Zeichenfolge eine Zahl.

Beispiel für die Verwendung eines Designs try-except:

text = "1234" try: number = int(text) print("String ist eine Zahl") except ValueError: print("String ist keine Zahl")

Sie können auch reguläre Ausdrücke mit einem Modul verwenden re um eine Zahl zu bestimmen. Sie können beispielsweise mithilfe des folgenden regulären Ausdrucks feststellen, ob eine Zeichenfolge eine Zahl ist: ^\d+$. Wenn eine Zeichenfolge diesem Ausdruck entspricht, ist sie eine Zahl.

Beispiel für die Verwendung eines regulären Ausdrucks:

import re text = "1234" if re.match("^\d+$", text): print("String ist eine Zahl") else: print("String ist keine Zahl")

Wählen Sie je nach Ihren Bedürfnissen und Anforderungen für das Programm eine der vorgestellten Methoden aus, basierend auf dem, was für Sie bequemer und verständlicher ist.

Python ist eine Programmiersprache mit leistungsstarken Tools zum Arbeiten mit Zahlen

Python verfügt über integrierte Datentypen zur Darstellung von Zahlen, einschließlich Ganzzahlen (int), Gleitkommazahlen (float) und komplexen Zahlen (complex). Es bietet auch viele mathematische Operationen wie Addition, Subtraktion, Multiplikation und Division sowie Potenzierung, Wurzelextraktion und vieles mehr.

Eine der häufigsten Aufgaben in der Programmierung besteht darin, zu überprüfen, ob eine Zeichenfolge eine Zahl ist. Python bietet verschiedene Möglichkeiten, diese Überprüfung durchzuführen. Eine der einfachsten Methoden besteht darin, die Funktion isdigit() zu verwenden, die True zurückgibt, wenn alle Zeichen in der Zeichenfolge Ziffern sind, andernfalls False:

Eine andere Möglichkeit besteht darin, eine Zeichenfolge mithilfe der Funktion float() oder int() in eine Zahl zu konvertieren. Wenn die Konvertierung erfolgreich war, war die Zeichenfolge eine Zahl, andernfalls wird eine Ausnahme ausgelöst:

  • try:
    float(string)
    # oder int(string)
    except ValueError:
    # string ist keine Zahl

Daher bietet Python dank seiner leistungsstarken Zahlenwerkzeuge umfangreiche Möglichkeiten, um numerische Probleme zu lösen und zu überprüfen, ob eine Zeichenfolge eine Zahl ist, die einfach mit den integrierten Sprachwerkzeugen durchgeführt werden kann.

Verwenden der integrierten Funktion isdigit() zum Überprüfen einer Zahl

Um die Funktion isdigit() zu verwenden, müssen Sie sie wie folgt auf die gewünschte Zeile anwenden:

string = "12345"if string.isdigit():print("Строка является числом")else:print("Строка не является числом")

Beachten Sie jedoch, dass die Funktion isdigit() eine Zeichenfolge nicht durch eine reelle Zahl oder einen Gleitkomma-numerischen Ausdruck definiert. Andere Python-Methoden und -Funktionen können für solche Prüfungen verwendet werden, z. B. isdigit() und isnumeric() .

Daher ist die Verwendung der Funktion isdigit() eine bequeme Möglichkeit zu überprüfen, ob eine Zeichenfolge eine Zahl ist, wenn sie nur aus Ziffern besteht.

Verwenden von Methoden der str-Klasse, um eine Zahl in einer Zeichenfolge zu bestimmen

MethodeDie Beschreibung
isnumeric()Überprüft, ob die Zeichenfolge nur numerische Zeichen enthält (Zahlen oder Zeichen, die den Zahlen in anderen Schriftzeichen entsprechen).
isdigit()Überprüft, ob die Zeichenfolge nur Zahlen enthält.
isdecimal()Überprüft, ob die Zeichenfolge nur Dezimalstellen enthält.
isalnum()Überprüft, ob die Zeichenfolge nur Buchstaben und Zahlen enthält.

Ein Beispiel für die Verwendung dieser Methoden:

string1 = "12345"string2 = "12.34"string3 = "abc123"print(string1.isnumeric()) # Trueprint(string2.isnumeric()) # Falseprint(string3.isnumeric()) # Falseprint(string1.isdigit()) # Trueprint(string2.isdigit()) # Falseprint(string3.isdigit()) # Falseprint(string1.isdecimal()) # Trueprint(string2.isdecimal()) # Falseprint(string3.isdecimal()) # Falseprint(string1.isalnum()) # Trueprint(string2.isalnum()) # Falseprint(string3.isalnum()) # True

Mit diesen Methoden können Sie leicht feststellen, ob eine Zeichenfolge in Python eine Zahl ist, und die entsprechenden Aktionen in Ihrem Programm ausführen.

Verwenden des re-Moduls, um eine Zeichenfolge auf eine Zahl zu überprüfen

Dazu müssen Sie die match() -Methode des re-Moduls verwenden und den regulären Ausdruck und die zu überprüfende Zeichenfolge übergeben. Der reguläre Ausdruck \d+ entspricht einer Folge von einer oder mehreren Ziffern.

import redef is_number(string):pattern = r"\d+"if re.match(pattern, string):return Trueelse:return False# Проверка строки на числоprint(is_number("42")) # Trueprint(is_number("3.14")) # Falseprint(is_number("abc")) # False

In diesem Beispiel nimmt die Funktion is_number() die zu überprüfende Zeichenfolge an und gibt True zurück , wenn die Zeichenfolge eine Zahl ist, andernfalls False.

Die Verwendung des re-Moduls ermöglicht es daher, Strings in Python bequem und effizient auf eine Zahl zu überprüfen.

Verwenden einer benutzerdefinierten Funktion zum Definieren einer Zahl in einer Zeichenfolge

Hier ist ein Beispielcode, der eine solche Funktion implementiert:

def is_number(string):for char in string:if not char.isdigit():return Falsereturn True

Sie können diese Funktion aufrufen, indem Sie eine zu überprüfende Zeichenfolge an sie übergeben:

string = input("Введите строку: ")if is_number(string):print("Строка является числом.")else:print("Строка не является числом.")

Die eingegebene Zeichenfolge wird auf Zeichen überprüft, bei denen es sich nicht um Ziffern handelt. Wenn es keine solchen Zeichen gibt, gibt die Funktion True zurück, andernfalls False. Abhängig vom Rückgabewert der Funktion wird eine entsprechende Meldung angezeigt.

Ich hoffe, dass dieses Beispiel Ihnen hilft festzustellen, ob eine Zeichenfolge in Python eine Zahl ist.

Codebeispiele zum Überprüfen, ob eine Zeichenfolge in Python eine Zahl ist

  1. Verwenden der isnumeric() -Methode Die isnumeric() -Methode gibt True zurück, wenn die Zeichenfolge nur aus Ziffern besteht, andernfalls False.
def is_numeric(string):return string.isnumeric()print(is_numeric("12345")) # Trueprint(is_numeric("abc123")) # False
def is_digit(string):return string.isdigit()print(is_digit("12345")) # Trueprint(is_digit("abc123")) # False
def is_decimal(string):return string.isdecimal()print(is_decimal("12345")) # Trueprint(is_decimal("12.345")) # False
def is_number(string):try:float(string)return Trueexcept ValueError:return Falseprint(is_number("12345")) # Trueprint(is_number("abc123")) # False

Wählen Sie eine geeignete Methode oder eine Kombination von Methoden aus, abhängig von Ihren Anforderungen und Anforderungen für die Überprüfung von Zeichenfolgen auf einen numerischen Wert in Python.