print()
len()
Conceitos computacionais
Aspas duplas ou simples?
Desde que exista um padrão, tanto faz. Você pode usar print('texto')
ou print("texto")
len()
1
2
3
4
texto = u"programar é muito bom"
print(texto)
print(len(texto))
(strings1)
>>> "Programaê"[0]
'P'
>>> "Programaê"[8]
'ê'
>>> "Programaê"[9]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
A palavra “Programaê” tem 9 caracteres. O primeiro [0]
e o último [8]
, ao tentarmos acessar um índice acima, ex [10]
obtemos
um erro indicando que o índice esta fora da faixa permitida.
1
2
3
4
5
6
7
texto = u"programar É muito bom"
print(texto[0]) # primeiro caractere
print(texto[:9]) # do ínicio (índice zero) até o índice 8
print(texto[10:11]) # apenas o índice 10
print(texto[12:17]) # do índice 12 até o 16
print(texto[18:]) # do índice 18 até o final
(strings2)
Pontos importantes:
" "
também são considerados.texto[índice]
:
posição final (mas em incluí-la).1
2
3
4
5
6
7
texto = u"programar É muito bom"
print( texto ) # texto original
print( texto.upper() ) # todo o texto em letras maiúsculas
print( texto.lower() ) # todo o texto em letras minúsculas
print( texto.capitalize() ) # texto com a primeira letra maiúscula
print( texto.count('a') ) # quantas vezes a letra 'a' aparece
(s3)
Funções mais avançadas: encontrar & substituir
As funções find
e replace
são sugestões para demonstrar o processo de encontrar e substituir textos.
# retorna o índice da primeira ocorrência da letra 'a'
print( u"programar É muito bom".find('a') )
# substitui todos os espaços em branco por '_'
print( u"programar É muito bom".replace(' ','_') )
É possível deixar o texto mais amigável introduzindo quebras de linha ou caracteres especiais. Por exemplo,
como adicionar uma aspas se ela é o delimitador do tipo string? A linguagem Python oferece um caractere de escape,
ou seja, tudo que estiver em seguida ao \
irá ser ignorado pelo interprador. Alguns exemplos:
Caracteres de escape (\
)
\\
\'
\"
\n
\t
Um erro comum acontece ao definirmos uma string. Ao utilizarmos um caractere de escape para introduzir uma aspa e esquecermos fechá-la obteremos um erro de sintaxe, descrito no exemplo abaixo:
>>> print("programaê\")
File "<stdin>", line 1
print("programaê\")
^
SyntaxError: EOL while scanning string literal
Percorrendo strings
Na aula anterior aprendemos um uso do for
para percorrer uma faixa de números. Incentive os alunos a pensar
como utilizar os tópicos aprendidos na aula de hoje pare ensinar percorrer uma string.
Utilize este pequeno programa para mostrar a execução no modo passo a passo.
Step 1 of 30 line that has just executed next line to execute Code visualized with Online Python Tutor |
| |||||||||||||
(s5)
Mas se pensarmos uma string como uma lista de caracteres? Podemos aplicar a mesma idéia ara percorrer uma string.
1
2
3
for caractere in "meu texto":
print(caractere)
(s6)
Proposta
print()
e o delimitador \t
1
2
3
texto="Pra que cara feia?\n\tNa vida,\nNinguém paga meia.\n\n(Paulo Leminski)"
print(texto)
(strings4)
Atividades para a empresa