Itera su tutti i caratteri
Poiché è possibile accedere a un carattere tramite l'indice, è possibile utilizzare un ciclo variabile per eseguire iterazioni su tutti i caratteri, che assumeranno possibili valori di indice. Ad esempio, un programma che visualizza tutti i codici dei caratteri della stringa 
s avrà questo aspetto
for i in range(len(s)):
    print(s[i], ord(s[i]))
Spiegazioni per il programma:
1) La funzione 
 len(s)  trova la lunghezza di una stringa. L'indice del primo carattere è 0 e l'indice dell'ultimo è len(s)-1. La variabile di ciclo 
i prenderà semplicemente i valori in sequenza da 
0 a 
 len(s)-1.
2) In ogni riga verrà visualizzato prima il simbolo stesso e poi il suo codice, che viene restituito dalla funzione built-in 
ord().
La stessa enumerazione può essere scritta più breve:
per c in s:
    print(c, ord(c))
In questo frammento, l'intestazione del ciclo scorre tutti i caratteri s, inserendoli a turno nella variabile 
c.
Come già accennato, la particolarità di Python quando si lavora con le stringhe è che le stringhe sono oggetti immutabili. In altre parole, non possiamo modificare i singoli caratteri di una stringa.
Ad esempio, la seguente istruzione non funzionerà
s[5]='a'
Ma puoi comporre una nuova riga dai caratteri con le modifiche richieste.
 
Attività
Nella stringa di input, sostituisci tutti i caratteri 'a' ai caratteri 'b'. 
s = ingresso()
sNuovo = ""
per c in s:
    se c == 'a': c = 'b'
    sNuovo += c
print(sNuovo)
In questo programma, il ciclo passa attraverso tutti i caratteri della stringa s. Nel corpo del ciclo, controlliamo il valore della variabile 
с: se il simbolo corrisponde al simbolo '
a', allora lo sostituiamo con '
b' e aggiungilo alla fine della nuova riga 
sNew utilizzando l'operatore di addizione.
Questa opzione è piuttosto lenta.
In futuro, daremo un'occhiata alle funzioni di manipolazione delle stringhe integrate e impareremo come farlo più velocemente.