Algoritmos II
Manipulação do tipo String (Str)
Prof. Fernando Del Moro
Manipulação de String
Apesar do tipo String ser o tipo mais básico e
utilizado em quase todos os programas, ele tem
funcionalidades que vão além da simples
representação de “Nomes”.
Manipulação de String
● Basicamente uma String é uma cadeia de
caracteres que se assemelha a um Vetor;
● Possui índices para acessar seus elementos;
● Seus elementos são imutáveis, não se pode
modificar o valor de um índice;
Manipulação de String
frase = ‘Uma cadeia de caracteres’
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
U m a c a d e i a d e c a r a c t e r e s
Operações
Existem diversas operações que podem ser feitas em String;
Vamos classificar em:
-Análise
-Fatiamento
-Transformação
-Divisão
Operações
-Análise (considerar a existência de uma variável “frase”)
len(frase) – retorna o número de caracteres
[Link]('o') – retorna quantas ocorrências da letra ´o`
[Link]('o',0,13) - quantas ocorrências do 0 até o 12
[Link](‘cade') - qual o índice que começa a sub-string ‘cade'
[Link]('android') - se não existe retorna -1
‘chuchu' in frase - retorna boolean se a sub-string foi localizada
Operações
-Fatiamento (variável “frase” declarada)
print(frase[5]) – retorna o caracter no índice 5 (6º caracter)
print(frase[-2]) – retorna o penúltimo caracter
print(frase[5:10]) – retorna a sub-string do índice 5 até o 9 (o 10 não conta)
print(frase[:10]) – retorna a sub-string do início até o índice 9
print(frase[10:]) – retorna a sub-string do índice 10 até o final
print(frase[1:99]) #não dá erro mesmo que não tenha 99
print(frase[1:20:2]) – do índice 1 até o 19 alternando de 2 em 2 caracteres
print(frase[1:20:3]) – do índice 1 até o 19 alternando de 3 em 3 caracteres
print(frase[:15:2]) – do inicio até o 14 alternando de 2 em 2 caracteres
print(frase[::2]) – do início ao fim alternando de 2 em 2 caracteres
Operações
-Transformação(variável “frase” declarada)
[Link]('Python', Java') - substitui Python por Java
[Link]() – retorna a String em maiúsculo
[Link]() – retorna a String em minúsculo
[Link]() – primeiro em maiúsculo e as outras em minúsculo
[Link]() – palavras começam com maiúsculo e os outros em minúsculo
[Link]() - remove espaços dos extremos
[Link]() - remove espaços da direita
[Link]() - remove espaços da esquerda
Operações
-Divisão (variável “frase” declarada)
[Link]() - quebra a frase em uma lista de palavras (pelo espaço)
'-'.join(frase) - monta String com o '-' como separador
Exercícios
1) Crie um programa que leia o nome completo de uma pessoa e
mostre:
-O nome com todas em maiúsculo
-O nome com todas em minúsculo
-quantas letras ao todo (sem considerar espaços)
-quantas letras tem o primeiro nome.
2) Crie um programa que leia o nome de uma cidade ou bairro e
diga se ela começa ou não com “sao”.
Exercícios
3) Crie um programa que leia o nome de uma pessoa e diga se ela
tem "SILVA" no nome.
4) Faça um programa que leia uma frase e mostre:
-Quantas vezes aparece a letra “F"
-Em que posição ela aparece pela primeira vez;
-Em que posição ela aparece pela ultima vez (desafio)
Exercícios
5) Faça um programa que leia o nome completo de uma pessoa
mostrando em seguida o primeiro e o último nome separadamente
Ex:
joao da silva sauro
primeiro - joao
ultimo – sauro
6) Faça um programa que leia uma String qualquer e mostre elas
sem as suas vogais.
Exercícios
7) Faca um programa que leia uma série de nomes, armazenando
em uma lista. Após a leitura mostre apenas os nomes que iniciam
com vogais.
8) Faca um programa que leia uma série de nomes, armazenando
em uma lista. Após a leitura mostre apenas os nomes que
possuam um número impar de palavras.
9) Faca um programa que leia uma série de nomes, armazenando
em uma lista. Após a leitura mostre os nomes de trás para frente.