Auf die Zeichen einer Zeichenkette kann mit eckigen Klammern [] zugegriffen werden, wobei die Indizierung bei 0 beginnt.
Um auf das letzte Zeichen einer Zeichenkette s zuzugreifen, können wir s[len(s) - 1] schreiben. Dies kann bei größeren Ausdrücken unübersichtlich werden, aber glücklicherweise gibt es eine kürzere Möglichkeit, um von hinten auf die Zeichen zuzugreifen, nämlich die negative Indizierung:
# 01234 => 5 Zeichen
greeting = 'hello'
print(greeting[len(greeting) - 1]) # o
print(greeting[len(greeting) - 2]) # l
print(greeting[len(greeting) - 3]) # l
# 01234
greeting = 'hello'
print(greeting[-1]) # o
print(greeting[-2]) # l
print(greeting[-3]) # l
Beide Programme sind äquivalent, aber das zweite ist kürzer und einfacher zu lesen.
Aufgabe
Sie arbeiten in der Sicherheitsabteilung, und man bittet Sie, eine weitere Überprüfung für Benutzerpasswörter hinzuzufügen. Die Passwörter gelten als sicher, wenn die ersten 3 Buchstaben zusammen nicht den letzten 3 Buchstaben (in umgekehrter Reihenfolge) entsprechen.
Die Eingabe besteht aus einer einzelnen Zeile – dem Passwort.
Das Programm soll secure ausgeben, wenn das Passwort als sicher gilt, und not secure andernfalls.