I caratteri delle stringhe possono essere accessibili con le parentesi [] e l'indicizzazione inizia da 0.
Per accedere all'ultimo carattere di una stringa s, possiamo scrivere s[len(s) - 1]. Questo può diventare complicato con espressioni più lunghe e fortunatamente c'è un modo più conciso di accedere ai caratteri dalla fine usando l'indicizzazione negativa:
# 01234 => 5 caratteri
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
Entrambi questi programmi sono equivalenti, ma il secondo è più conciso e più facile da leggere.
Sfida
Stai lavorando nel dipartimento di sicurezza e ti chiedono di aggiungere un ulteriore controllo per le password degli utenti. Le password sono considerate sicure se le prime 3 lettere insieme non sono uguali alle ultime 3 lettere (in ordine inverso).
L'input contiene una singola riga: la password.
Il programma dovrebbe stampare secure se la password è considerata sicura, e not secure altrimenti.