0%

Mit Text arbeiten · Übung

Finde Zeichen anhand ihrer Position

Weil ein String geordnet ist, kann Python ein Zeichen an einer bestimmten Position abrufen.

word = "garden"
first_character = word[0]
print(first_character)

Die eckigen Klammern fragen nach dem Wert an einem Index. Die Ausgabe lautet g.

Python zählt ab null

Die Zeichen in "garden" haben diese Indizes:

Zeichengarden
Index012345

Das erste Zeichen steht am Index 0, nicht am Index 1. Das heißt nullbasierte Indizierung.

print(word[0])
print(word[1])
print(word[5])

Das gibt g, a und n aus.

Der Index ist eine ganze Zahl. word["1"] funktioniert nicht, weil der String "1" keine Indexzahl ist.

Zähle mit negativen Indizes rückwärts

Python lässt dich auch vom Ende her zählen:

print(word[-1])
print(word[-2])

Index -1 bedeutet das letzte Zeichen. Index -2 bedeutet das Zeichen davor. Die Ausgabe lautet n und e.

Negative Indizes sind besonders nützlich, wenn du die Länge des Strings nicht im Voraus kennst.

Ein Index muss existieren

"garden" hat sechs Zeichen mit den Indizes 0 bis 5. Wenn du word[6] anforderst, meldet Python:

IndexError: string index out of range

Python hat die Indexoperation verstanden, aber diese Position existiert nicht.

Ein leerer String hat weder ein erstes noch ein letztes Zeichen. Deshalb verlangt das Kapitelprojekt ausdrücklich einen nicht leeren Text.

Was gibt dieses Programm aus?

word = "code"
print(word[1])

Finde die Enden eines Worts

Ersetze die beiden leeren Strings durch Zeichen aus language, die du über ihren Index abrufst:

  • first_character soll das erste Zeichen enthalten;

  • last_character soll das letzte Zeichen enthalten.

Verwende Index 0 für das erste Zeichen und einen negativen Index für das letzte. Die Ausgabe muss so aussehen:

First: P
Last: n

Aufgabe

Weise first_character mit Index 0 das erste Zeichen von language zu. Weise last_character mit Index -1 das letzte Zeichen zu.

Erzeuge diese Ausgabe:

First: P
Last: n