Iterar sobre todos os caracteres
Como um caractere pode ser acessado por índice, você pode usar um loop de variável para iterar sobre todos os caracteres, que assumirão os possíveis valores de índice. Por exemplo, um programa que exibe todos os códigos de caracteres da string
s
ficaria assim
para i no intervalo(len(s)):
imprimir(s[i], ordem(s[i]))
Explicações para o programa:
1) A função len(s)
encontra o comprimento de uma string. O índice do primeiro caractere é 0 e o índice do último é len(s)-1. A variável de loop i
apenas assumirá valores sequencialmente de 0
a len(s)-1
.
2) Em cada linha, o próprio símbolo será exibido primeiro e, em seguida, seu código, que é retornado pela função interna ord().
A mesma enumeração pode ser escrita mais curta:
para c em s:
print(c, ord(c))
Nesse fragmento, o cabeçalho do loop percorre todos os caracteres s, colocando-os por sua vez na variável c
.
Como já mencionado, a peculiaridade do Python ao trabalhar com strings é que as strings são objetos imutáveis. Em outras palavras, não podemos alterar caracteres individuais de uma string.
Por exemplo, a seguinte instrução não funcionará
s[5]='a'
Mas você pode compor uma nova linha a partir dos caracteres com as alterações necessárias.
Tarefa
Na string de entrada, substitua todos os caracteres 'a' aos caracteres 'b'.
s = entrada()
sNovo = ""
para c em s:
se c == 'a': c = 'b'
sNovo += c
imprimir(sNovo)
Nesse programa, o loop percorre todos os caracteres da string s. No corpo do loop, verificamos o valor da variável с
: se o símbolo corresponder ao símbolo 'a
', então o substituímos com 'b< /code>' e adicione-o ao final da nova linha sNew
usando o operador de adição.
Esta opção é bastante lenta.
No futuro, veremos as funções internas de manipulação de strings e aprenderemos como fazer isso mais rapidamente.