Problem

8 /13


Passa attraverso tutti i personaggi

Theory Click to read/hide

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.
 

Problem

Scrivi un programma che sostituisca tutti i punti in una stringa con zeri e tutte le lettere inglesi maiuscole "X" unità. 
 
Esempi
# Input Uscita
1 ..X..XX 0010011