Wir haben gesehen, wie man mit [] auf einzelne Zeichen eines Strings zugreifen kann. Es ist auch möglich, einen bestimmten Abschnitt eines Strings auszuwählen – also mehrere aufeinanderfolgende Zeichen zu nehmen. Dies kann mit den gleichen []-Klammern erreicht werden, indem man zwei Zahlen angibt – den Anfang und das Ende der Auswahl:
s = 'This is a long long string'
print(s[0: 1]) # T
print(s[0: 2]) # Th
print(s[0: 18]) # This is a long lon
print(s[1: 3]) # hi
print(s[1: -1]) # his is a long long strin
print(s[3: -2]) # s is a long long stri
print(s[-10: -2]) # ong stri
Hinweis 1: Der Start ist immer inklusiv, und das Ende ist immer exklusiv ⇒ [start; end).
Hinweis 2: Sowohl Start als auch Ende können negativ sein – was auf negative Indizierung hinweist.
Herausforderung
Wir möchten wissen, was der zentrale Abschnitt eines Strings ist.
Bei einem String der Länge n möchten wir die Buchstaben sehen, die die Positionen von n/4 bis 3n/4 umfassen.
Die Eingabe enthält eine einzige Textzeile, deren Länge garantiert durch 4 teilbar ist.
Das Programm sollte den zentralen Abschnitt ausgeben.