Zähle die Anzahl jedes Zeichens

PythonPythonBeginner
Jetzt üben

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

Einführung

In diesem Projekt lernst du, wie du die Anzahl von Buchstaben, Leerzeichen, Ziffern und anderen Zeichen in einem gegebenen Eingabestring zählst. Dies ist eine grundlegende Programmieraufgabe, die in verschiedenen Textverarbeitung- und Datenanalyseanwendungen nützlich sein kann.

👀 Vorschau

$ python totalchar.py
abc123EFG * &
45?
letter=6,space=1,digit=5,other=3
$ python totalchar.py
asd5 asd asds51d#^sfd
letter=14,space=2,digit=3,other=2

🎯 Aufgaben

In diesem Projekt wirst du lernen:

  • Wie du ein Python-Projekt einrichtest und die erforderlichen Dateien erstellst
  • Wie du die Logik implementierst, um verschiedene Zeichentypen in einem String zu zählen
  • Wie du die Zeichenzählfunktion mit den bereitgestellten Beispielen testest
  • Wie du potenzielle Verbesserungen der Zeichenzählfunktion erkundest

🏆 Errungenschaften

Nach Abschluss dieses Projekts wirst du in der Lage sein:

  • Das grundlegende Struktur eines Python-Projekts zu verstehen
  • Eine Funktion zu schreiben, um die Anzahl von Buchstaben, Leerzeichen, Ziffern und anderen Zeichen in einem String zu zählen
  • Deine Zeichenzählfunktion zu testen und zu debuggen
  • Potenzielle Verbesserungen der Zeichenzählfunktionalität zu identifizieren und umzusetzen

Projekt einrichten

In diesem Schritt wirst du das Projektverzeichnis einrichten und die erforderlichen Dateien erstellen.

  1. Öffne deinen Terminal und navigiere zum Verzeichnis /home/labex/project.
  2. Erstelle in dem Projektverzeichnis eine neue Python-Datei namens totalchar.py.
cd /home/labex/project
touch totalchar.py
  1. Öffne die Datei totalchar.py in einem Texteditor und füge folgenden Code hinzu:
## Python Lösung zum Zählen von Zeichen


def count_chars(input_str):
    letter, space, digit, other = 0, 0, 0, 0

    ## Füge hier deinen Code hinzu, um die Anzahl von Buchstaben, Leerzeichen, Ziffern und anderen Zeichen zu zählen

    return f"letter={letter},space={space},digit={digit},other={other}"


if __name__ == "__main__":
    txt = input()
    print(count_chars(txt))

Dieser Code definiert eine Funktion count_chars, die einen String als Eingabe nimmt und einen String mit den Zählungen von Buchstaben, Leerzeichen, Ziffern und anderen Zeichen zurückgibt.

Implementiere die Zeichenzähllogik

In diesem Schritt wirst du die Logik implementieren, um die verschiedenen Zeichentypen im Eingabestring zu zählen.

  1. Füge innerhalb der Funktion count_chars folgenden Code hinzu, um die verschiedenen Zeichentypen zu zählen:
for char in input_str:
    if char.isalpha():
        letter += 1
    elif char.isspace():
        space += 1
    elif char.isdigit():
        digit += 1
    else:
        other += 1

Dieser Code iteriert über jedes Zeichen im Eingabestring und erhöht den entsprechenden Zähler basierend auf dem Typ des Zeichens.

  1. Speichere die Datei totalchar.py.

Teste die Zeichenzählfunktion

In diesem Schritt wirst du die Funktion count_chars mit den bereitgestellten Beispielen testen.

  1. Führe das Skript totalchar.py im Terminal aus:
python totalchar.py
  1. Wenn danach gefragt wird, gib die erste Beispiel-Eingabe ein: abc123EFG *&45?

Die Ausgabe sollte lauten:

letter=6,space=1,digit=5,other=3
  1. Führe das Skript erneut aus und gib die zweite Beispiel-Eingabe ein: asd5 asd asds51d#^sfd

Die Ausgabe sollte lauten:

letter=14,space=2,digit=3,other=2

Wenn die Ausgabe mit den erwarteten Ergebnissen übereinstimmt, funktioniert deine Zeichenzählfunktion richtig.

Verbessere die Zeichenzählfunktion

Wenn du die Zeichenzählfunktion weiter verbessern möchtest, kannst du die folgenden Verbesserungen in Betracht ziehen:

  1. Behandle Unicode-Zeichen: Die aktuelle Implementierung zählt nur ASCII-Zeichen. Du kannst die isalpha(), isspace() und isdigit()-Prüfungen modifizieren, um auch Unicode-Zeichen zu behandeln.
  2. Gib detailliertere Ausgabe: Anstatt nur einen String mit den Zählungen zurückzugeben, kannst du ein Dictionary oder ein benanntes Tupel mit den einzelnen Zählungen zurückgeben, was für die weitere Verarbeitung möglicherweise nützlicher ist.
  3. Füge Fehlerbehandlung hinzu: Implementiere Fehlerbehandlung, um ungültige Eingaben wie leere Strings oder nicht-string-Eingaben zu behandeln.
  4. Optimiere die Leistung: Wenn du damit rechnest, große Mengen an Text zu verarbeiten, kannst du effizientere Wege zur Zeichenzählung erkunden, wie z. B. die Verwendung von regulären Ausdrücken oder speziellen String-Manipulations-Techniken.

Denke daran, deine verbesserte Funktion mit verschiedenen Eingaben zu testen, um sicherzustellen, dass sie wie erwartet funktioniert.

✨ Lösung prüfen und üben

Zusammenfassung

Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Übungen absolvieren, um deine Fähigkeiten zu verbessern.