Vanessa Braganholo [email protected]/material/prog-python/10-Strings.pdf · VANESSA ....
Transcript of Vanessa Braganholo [email protected]/material/prog-python/10-Strings.pdf · VANESSA ....
![Page 2: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/2.jpg)
Strings
2
} Representam informação textual
nome = “Maria Silva”
nacionalidade = “brasileira”nome_mae = “Ana Santos Silva”
nome_pai = “Jonas Nunes Silva”
![Page 3: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/3.jpg)
Acesso a conteúdo das Strings
3
} Acesso pode ser feito pelo nome da variável que contém a string
nome = “Maria Silva”print(nome)
![Page 4: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/4.jpg)
Acesso a conteúdo das Strings
4
} String pode ser tratada como uma lista} Caracteres podem ser acessados pela sua posição dentro
da String
>>> nome = “Maria Silva”
>>> print(nome[0])M
>>> print(nome[6])
S0 1 2 3 4 5 6 7 8 9 10
M a r i a S i l v anome
![Page 5: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/5.jpg)
Alteração
5
} Diferentemente das listas, o conteúdo das strings não pode ser alterado – são sequências imutáveis
>>> nome = “Maria Silva”>>> nome[3] = “t”
Traceback (most recent call last):File "<stdin>", line 1, in <module>
TypeError: 'str' object does not supportitem assignment
![Page 6: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/6.jpg)
Operadores
6
} Alguns operadores que atuam sobre sequências podem ser usados em strings} in} len} + } *
![Page 7: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/7.jpg)
in
7
} substring in string} Retorna True ou False
>>> nome = “Maria Silva”>>> “M” in nomeTrue>>> “B” in nomeFalse>>> “m” in nomeFalse>>> “ria” in nomeTrue
![Page 8: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/8.jpg)
len
8
} len(string)} Retorna a quantidade de caracteres da string
>>> nome = “Maria”
>>> len(nome)5
>>> nome = “Maria Silva”>>> len(nome)
11
![Page 9: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/9.jpg)
+ (Concatenação)
9
} string1 + string2 } Concatena duas strings
>>> nome = “Maria” + “Silva”>>> nomeMariaSilva
>>> nome = “Maria”>>> sobrenome = “Silva”>>> nome_completo = nome + sobrenome>>> nome_completoMariaSilva
![Page 10: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/10.jpg)
* (Repetição)
10
} string * int} Repete a string int vezes
>>> nome = “Maria”
>>> nome_repetido = nome * 2>>> nome_repetido
MariaMaria
![Page 11: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/11.jpg)
Percorrendo uma String
11
} Os elementos de uma string podem ser acessados usando uma estrutura de repetição
nome = “Maria Silva”for letra in nome:
print(letra)
nome = “Maria Silva”for i in range(len(nome)):
print(nome[i])
nome = “Maria Silva”indice = 0while indice < len(nome):
print(nome[indice])indice +=1
![Page 12: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/12.jpg)
Operações úteis sobre Strings
12
} upper} lower
![Page 13: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/13.jpg)
upper
13
} string.upper() } Retorna a string com letras minúsculas substituídas por
maiúsculas
} A string original não é modificada!
![Page 14: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/14.jpg)
upper
14
>>> texto = “Quem parte e reparte, fica com a maior parte”>>> texto.upper()“QUEM PARTE E REPARTE FICA COM A MAIOR PARTE”
![Page 15: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/15.jpg)
lower
15
} string.lower() } Retorna a string com letras maiúsculas substituídas por
minúsculas
} A string original não é modificada!
![Page 16: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/16.jpg)
lower
16
>>> texto = “Quem parte e reparte, fica com a maior parte”>>> texto.lower()“quem parte e reparte, fica com a maior parte”
![Page 17: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/17.jpg)
Exercícios
17
1. Escreva uma função que recebe uma frase e uma palavra antiga e uma palavra nova. A função deve retornar uma string contendo a frase original, mas com a última ocorrência da palavra antiga substituída pela palavra nova. A entrada e saída de dados deve ser feita no programa principal.
} Exemplo: } Frase: “Quem parte e reparte fica com a maior parte”} Palavra antiga: “parte”} Palavra nova: “parcela”} Resultado a ser impresso no programa principal: “Quem parte
e reparte fica com a maior parcela”
![Page 18: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/18.jpg)
Exercícios
18
2. Faça uma função que recebe uma string que representa uma cadeia de DNA e gera a cadeia complementar. A entrada e saída de dados deve ser feita pelo programa principal.
} Exemplo: } Entrada: AATCTGCAC} Saída: TTAGACGTG
![Page 19: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/19.jpg)
Exercícios
19
3. Faça uma função que recebe uma frase e retorna o número de palavras que a frase contém. Considere que a palavra pode começar e/ou terminar por espaços. A entrada e saída de dados deve ser feita no programa principal.
4. Faça uma função que recebe uma frase e substitui todas as ocorrências de espaço por “#”. Faça também uma função para realizar a entrada de dados. A saída de dados deve ser feita no programa principal.
![Page 20: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/20.jpg)
Exercícios
20
5. Faça um programa que decida se duas strings lidas do teclado são palíndromas mútuas, ou seja, se uma é igual à outra quando lida de traz para frente.
Exemplo: amor e roma.
6. Um anagrama é uma palavra que é feita a partir da transposição das letras de outra palavra ou frase. Por exemplo, “Iracema” é um anagrama para “America”. Escreva um programa que decida se uma string é um anagrama de outra string, ignorando os espaços em branco. O programa deve considerar maiúsculas e minúsculas como sendo caracteres iguais, ou seja, “a” = “A”.
![Page 21: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/21.jpg)
Exercícios
21
7. Faça um programa que leia o nome do usuário e mostre o nome de traz para frente, utilizando somente letras maiúsculas.
Exemplo: Nome = Vanessa
Resultado gerado pelo programa:ASSENAV
![Page 22: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/22.jpg)
Exercícios
22
8. Faça um programa que leia o nome do usuário e o imprima na vertical, em forma de escada, usando apenas letras maiúsculas.
Exemplo:Nome = VanessaResultado gerado pelo programa: VVAVANVANEVANESVANESSVANESSA
![Page 23: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/23.jpg)
Exercícios
23
9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaa e imprima a data com o mês escrito por extenso.
Exemplo:Data = 20/02/1995
Resultado gerado pelo programa: Você nasceu em 20 de fevereiro de 1995
![Page 24: Vanessa Braganholo vanessa@ic.uffvanessa/material/prog-python/10-Strings.pdf · VANESSA . Exercícios 23 9. Faça um programa que leia uma data de nascimento no formato dd/mm/aaaae](https://reader034.fdocumentos.com/reader034/viewer/2022042509/5f61404a98b8ba5eed08663d/html5/thumbnails/24.jpg)
Referências
24
} Slides de Aline Paes