Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Exkurs - Darstellung und Verarbeitung von Zeichenketten

Benötigtes Grundwissen

Bevor die Verschlüsselung von Texten nach dem Verschiebeverfahren implementiert werden kann, muss zunächst das hierfür benötigte Grundwissen über die Darstellung und Verarbeitung von Zeichenketten bereit gestellt werden. Weitere Information zu diesem Thema findest du im Abschnitt Zeichenketten und ihre Verarbeitung.

Aufgabe 1: Darstellung von Zeichenketten

Zeichenketten werden in Python durch Datenobjekte vom Typ str dargestellt. Python bietet eine Reihe von Möglichkeiten an, Zeichenketten zu erzeugen. Für kürzere Zeichenketten benutzt man Hochkommata oder Anführungszeichen. Beide Varianten sind in Python gleichwertig. Probiere das selbst aus.

>>> z1 = 'HALLOCAESAR'
>>> z1
'HALLOCAESAR'
>>> type(z1)
<class 'str'="">
>>> z2 = "Hallo Caesar"
>>> z2
'Hallo Caesar'
>>> type(z2)
<class 'str'="">
</class></class>

Beachte, dass man auch eine leere Zeichenkette bilden kann.

>>> z = ''
>>> z

Aufgabe 2: Zugriff auf einzelne Zeichen

Eine Zeichekette ist ein sequenzielles Datenobjekt, das aus einer Folge einzelner Zeichen besteht. Die Elemente eines solchen sequenziellen Datenobjekts sind der Reihe nach durchnummeriert. Die Nummerierung beginnt dabei mit 0. Die Nummer eines Zeichens wird auch Index genannt.

Zeichenkette

Der Zugriff auf die einzelnen Zeichen einer Zeichenkette erfolgt über den Index des Datenobjekts. Wenn die Variable klartext eine Zeichenkette verwaltet, dann beschreibt der Ausdruck klartext[i] das Zeichen mit dem Index i.

>>> klartext = 'HALLO'
>>> klartext[0]
'H'
>>> klartext[1]
'A'
>>> klartext[4]
'O'

Beachte, dass ein Zugriff auf ein nicht existierendes Element zu einer Fehlermeldung führt.

>>> klartext = 'HALLO'
>>> klartext[5]
Traceback (most recent call last):
  ...
    klartext[5]
IndexError: string index out of range

Beachte auch, dass in Python nur ein lesender Zugriff auf einzelne Zeichen einer Zeichenkette möglich ist. Abändern kann man einzelne Zeichen einer Zeichenkette mit Hilfe von Zuweisungen nicht.

>>> klartext = 'HALLO'
>>> klartext[1] = 'E'
Traceback (most recent call last):
  ...
    klartext[1] = 'E'
TypeError: 'str' object does not support item assignment

Teste selbst den Zugriff auf die Zeichen einer Zeichenkette.

Aufgabe 3: Aneinanderhängen von Zeichenketten

Mit dem +-Operator kann man Zeichenketten aneinanderhängen.

>>> 'Ast' + 'erix'
'Asterix'
>>> vorname = 'Julius'
>>> nachname = 'Caesar'
>>> name = vorname + ' ' + nachname
'Julius Caesar'

Diesen +-Operator kann man verwenden, wenn man eine neue Zeichenkette aufbauen möchte:

>>> klartext = 'HALLO'
>>> klartextNeu = ''
>>> klartextNeu = klartextNeu + klartext[0]
>>> klartextNeu = klartextNeu + 'E'
>>> klartextNeu = klartextNeu + klartext[2]
>>> klartextNeu = klartextNeu + klartext[3]
>>> klartextNeu = klartextNeu + klartext[4]
>>> klartextNeu
'HELLO'

Probiere das selbst aus.

Aufgabe 4: Länge einer Zeichenkette

Die Länge einer Zeichenkette erhält man mit dem len-Operator.

>>> klartext = 'HALLO'
>>> len(klartext)
5
>>> klartext = ''
>>> len(klartext)
0

Teste selbst diese vordefinierte Funktion.

Aufgabe 5: Eine Zeichenkette durchlaufen

Wenn man alle Zeichen einer Zeichenkette verarbeiten möchte, lässt sich das wie folgt mit einer while-Schleife realisieren:

# klartext = ...
i = 0
while i < len(klartext):
    # verarbeite klartext[i]
    i = i + 1

Hier durchläuft man die Zeichenkette über den Index der einzelnen Elemente.

In Python können sequenzielle Datenobjekte auch mit einer for-Schleife durchlaufen werden:

# klartext = ...
for zeichen in klartext:
    # verarbeite zeichen

Teste diese beiden Möglichkeiten. Alle Zeichen der Zeichenkette sollen einzeln mit einer print-Anweisungen auf dem Bildschirm ausgegeben werden.

X

Fehler melden

X

Suche