Die Zeichen eines Textes
Ein Text ist keine Liste, funktioniert aber in mancher Hinsicht wie eine. Jedes Zeichen in einem Text hat einen Index, ab 0 gezählt, und du kannst es mit eckigen Klammern lesen. Negative Indizes funktionieren auch:
sprache = "Python"
print(sprache[0])
print(sprache[1])
print(sprache[-1])Das gibt Folgendes aus:
P
y
nDie Funktion len() funktioniert auch für Text: Sie liefert dir die Anzahl der Zeichen. Leerzeichen und Satzzeichen sind ebenfalls Zeichen, deshalb hat "Hallo, Tom!" 11 Zeichen:
print(len(sprache))
print(len("Hallo, Tom!"))Das gibt Folgendes aus:
6
11Genau wie bei einer Liste endet das Lesen hinter dem Ende des Textes mit einem Fehler, diesmal IndexError: string index out of range.
Es gibt aber einen großen Unterschied: Du kannst kein Zeichen in einem Text ändern. Ein einmal erstellter Text bleibt, wie er ist:
sprache = "Python"
sprache[0] = "J"Das Programm endet mit diesem Fehler:
Traceback (most recent call last):
File "<exec>", line 2, in <module>
TypeError: 'str' object does not support item assignmentstr ist Pythons Name für Text (du kennst ihn von der Funktion str()), und item assignment bedeutet, einem Element über seinen Index etwas zuzuweisen. Die Meldung sagt, dass Text das nicht erlaubt. Wenn du einen anderen Text brauchst, erstelle einen neuen, zum Beispiel mit + oder einem F-String, und speichere ihn in einer Variablen.
So schreibst du es:
Anweisungen
- 1
Erstelle eine Variable
erstes_zeichenmit dem ersten Zeichen vonname. - 2
Erstelle eine Variable
letztes_zeichenmit dem letzten Zeichen vonname. Verwende einen negativen Index. - 3
Gib beide Zeichen und die Länge des Namens aus:
print(erstes_zeichen, letztes_zeichen, len(name)). Die Ausgabe sollL d 8sein.