Wie man prüft, ob eine Zeichenkette in Python nur Ziffern enthält

PythonPythonBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie in Python prüfen können, ob eine Zeichenkette nur Ziffern enthält. Das Lab untersucht Ziffernzeichenketten und stellt die isdigit()-Methode vor, eine eingebaute Python-Funktion, die feststellt, ob alle Zeichen in einer Zeichenkette numerisch (0-9) sind.

Sie werden eine Python-Datei namens digit_strings.py erstellen und die isdigit()-Methode verwenden, um Zeichenketten zu testen, die nur Ziffern enthalten, sowie Zeichenketten, die Nicht-Ziffernzeichen enthalten. Indem Sie das Skript mit verschiedenen Zeichenkettenbeispielen ausführen, werden Sie die Ausgabe True oder False beobachten, was zeigt, wie Sie in Python effektiv Ziffernzeichenketten identifizieren können.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/strings -.-> lab-559568{{"Wie man prüft, ob eine Zeichenkette in Python nur Ziffern enthält"}} python/conditional_statements -.-> lab-559568{{"Wie man prüft, ob eine Zeichenkette in Python nur Ziffern enthält"}} python/for_loops -.-> lab-559568{{"Wie man prüft, ob eine Zeichenkette in Python nur Ziffern enthält"}} python/build_in_functions -.-> lab-559568{{"Wie man prüft, ob eine Zeichenkette in Python nur Ziffern enthält"}} end

Untersuchen von Ziffernzeichenketten

In diesem Schritt lernen Sie über Ziffernzeichenketten in Python und wie Sie sie identifizieren können. Eine Ziffernzeichenkette ist einfach eine Zeichenkette, die nur numerische Zeichen (0-9) enthält. Python bietet eine eingebaute Methode namens isdigit(), mit der Sie einfach prüfen können, ob eine Zeichenkette nur aus Ziffern besteht.

Zunächst erstellen wir eine Python-Datei namens digit_strings.py in Ihrem ~/project-Verzeichnis mit dem VS Code-Editor.

## Create a string containing only digits
digit_string = "12345"

## Use the isdigit() method to check if the string contains only digits
is_digit = digit_string.isdigit()

## Print the result
print(is_digit)

Speichern Sie die Datei. Jetzt führen wir das Skript mit dem python-Befehl aus:

python ~/project/digit_strings.py

Sie sollten die folgende Ausgabe sehen:

True

Dies zeigt an, dass die Zeichenkette digit_string nur Ziffern enthält.

Jetzt versuchen wir es mit einer Zeichenkette, die Nicht-Ziffernzeichen enthält:

## Create a string containing digits and letters
non_digit_string = "123abc"

## Use the isdigit() method to check if the string contains only digits
is_digit = non_digit_string.isdigit()

## Print the result
print(is_digit)

Ersetzen Sie den Inhalt von digit_strings.py durch den obigen Code und speichern Sie ihn. Führen Sie das Skript erneut aus:

python ~/project/digit_strings.py

Sie sollten die folgende Ausgabe sehen:

False

Dies zeigt an, dass die Zeichenkette non_digit_string Zeichen enthält, die keine Ziffern sind.

Verwenden der isdigit()-Methode

Im vorherigen Schritt haben Sie die Grundlagen von Ziffernzeichenketten gelernt und wie Sie die isdigit()-Methode verwenden können. In diesem Schritt werden wir die isdigit()-Methode detaillierter untersuchen und sehen, wie sie mit verschiedenen Arten von Zeichenketten verwendet werden kann.

Die isdigit()-Methode ist eine Zeichenkettenmethode in Python, die True zurückgibt, wenn alle Zeichen in der Zeichenkette Ziffern sind, und False sonst. Es ist ein einfaches, aber leistungsstarkes Werkzeug zur Validierung von Benutzereingaben oder zur Verarbeitung von Daten, die nur Zahlen enthalten sollten.

Wir verwenden weiterhin die Datei digit_strings.py in Ihrem ~/project-Verzeichnis. Wir werden das Skript ändern, um die isdigit()-Methode mit verschiedenen Zeichenketten zu testen.

Zunächst testen wir es mit einer leeren Zeichenkette:

## Create an empty string
empty_string = ""

## Use the isdigit() method to check if the string contains only digits
is_digit = empty_string.isdigit()

## Print the result
print(is_digit)

Ersetzen Sie den Inhalt von digit_strings.py durch den obigen Code und speichern Sie ihn. Führen Sie das Skript erneut aus:

python ~/project/digit_strings.py

Sie sollten die folgende Ausgabe sehen:

False

Eine leere Zeichenkette enthält keine Ziffern, daher gibt isdigit() False zurück.

Als Nächstes testen wir es mit einer Zeichenkette, die nur Leerzeichen enthält:

## Create a string containing only spaces
space_string = "   "

## Use the isdigit() method to check if the string contains only digits
is_digit = space_string.isdigit()

## Print the result
print(is_digit)

Ersetzen Sie den Inhalt von digit_strings.py durch den obigen Code und speichern Sie ihn. Führen Sie das Skript erneut aus:

python ~/project/digit_strings.py

Sie sollten die folgende Ausgabe sehen:

False

Eine Zeichenkette, die nur Leerzeichen enthält, wird nicht als Ziffernzeichenkette betrachtet, daher gibt isdigit() False zurück.

Schließlich testen wir es mit einer Zeichenkette, die Unicode-Ziffern enthält:

## Create a string containing Unicode digits
unicode_digit_string = "一二三" ## These are Chinese numerals

## Use the isdigit() method to check if the string contains only digits
is_digit = unicode_digit_string.isdigit()

## Print the result
print(is_digit)

Ersetzen Sie den Inhalt von digit_strings.py durch den obigen Code und speichern Sie ihn. Führen Sie das Skript erneut aus:

python ~/project/digit_strings.py

Sie sollten die folgende Ausgabe sehen:

False

Die isdigit()-Methode gibt nur True für ASCII-Ziffern (0-9) zurück, nicht für andere Unicode-Zeichen, die Zahlen darstellen.

Prüfen auf Nicht-Ziffernzeichen

In diesem Schritt lernen Sie, wie Sie feststellen können, ob eine Zeichenkette irgendwelche Nicht-Ziffernzeichen enthält. Während die isdigit()-Methode nützlich ist, um zu prüfen, ob alle Zeichen Ziffern sind, müssen Sie manchmal wissen, ob mindestens ein Nicht-Ziffernzeichen vorhanden ist.

Wir können dies erreichen, indem wir durch die Zeichenkette iterieren und jedes Zeichen einzeln prüfen. Wir ändern die Datei digit_strings.py in Ihrem ~/project-Verzeichnis, um dies zu implementieren.

def has_non_digit(input_string):
  """
  Checks if a string contains any non-digit characters.
  """
  for char in input_string:
    if not char.isdigit():
      return True  ## Found a non-digit character
  return False  ## No non-digit characters found


## Test cases
string1 = "12345"
string2 = "123abc"
string3 = "  123"

print(f"'{string1}' has non-digit characters: {has_non_digit(string1)}")
print(f"'{string2}' has non-digit characters: {has_non_digit(string2)}")
print(f"'{string3}' has non-digit characters: {has_non_digit(string3)}")

Ersetzen Sie den Inhalt von digit_strings.py durch den obigen Code und speichern Sie ihn. Jetzt führen wir das Skript mit dem python-Befehl aus:

python ~/project/digit_strings.py

Sie sollten die folgende Ausgabe sehen:

'12345' has non-digit characters: False
'123abc' has non-digit characters: True
'  123' has non-digit characters: True

In diesem Skript definieren wir eine Funktion has_non_digit(), die durch jedes Zeichen der Eingabezeichenkette iteriert. Wenn sie ein Zeichen findet, das keine Ziffer ist, indem sie not char.isdigit() verwendet, gibt sie sofort True zurück. Wenn die Schleife ohne das Finden von Nicht-Ziffernzeichen abgeschlossen wird, gibt sie False zurück.

Dieser Ansatz ermöglicht es Ihnen, schnell festzustellen, ob eine Zeichenkette irgendwelche Zeichen enthält, die keine Ziffern sind, was für die Datenvalidierung und andere Aufgaben nützlich sein kann.

Zusammenfassung

In diesem Lab haben Sie untersucht, wie Sie prüfen können, ob eine Zeichenkette in Python nur Ziffern enthält. Sie haben gelernt, dass eine Ziffernzeichenkette ausschließlich aus numerischen Zeichen (0-9) besteht und dass Python die integrierte isdigit()-Methode für eine einfache Identifizierung zur Verfügung stellt.

Sie haben die Verwendung der isdigit()-Methode mit Zeichenketten, die nur Ziffern enthalten (was True zurückgibt), und mit Zeichenketten, die Nicht-Ziffernzeichen enthalten (was False zurückgibt), geübt. Dies hat die Fähigkeit der Methode demonstriert, Zeichenketten zu validieren und festzustellen, ob sie vollständig aus Ziffern bestehen.