0% acharam este documento útil (0 voto)
25 visualizações46 páginas

Manipulaçã Python

Enviado por

sorryhiro
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
25 visualizações46 páginas

Manipulaçã Python

Enviado por

sorryhiro
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Manipulação de Strings em

Python
Laercio Brito Gonçalves
Strings
• Representam informações em formato de texto
Acesso ao Conteúdo de uma String
• Acesso pode ser feito pelo nome da variável que contém a string
Acesso ao Conteúdo de uma String
• Caracteres podem ser acessados pela sua posição dentro da
String
• A primeira posição tem índice zero
Acesso ao Conteúdo de uma String
• É possível acessar também uma substring usando [inicio:fim]
• A substring retornada vai de início (inclusive) até fim – 1
• Se início for omitido, significa zero
• Se fim for omitido, significa len(string)
Alteração
• Strings são objetos imutáveis
• O conteúdo de uma determinada posição de uma string não
pode ser alterado
Operadores e Funções utilizados em Strings
• in

• len( )

•+

•*
Operador in
• Verifica se uma substring se encontra na string
• Retorna True ou False
Função len( )
• len(string)
• Retorna a quantidade de caracteres da string
Operador + (concatenação)
• string1 + string2
– Concatena duas strings
Operador * (Repetição)
• string * n
• Repete a string n vezes
Percorrendo Strings em Python
• Os elementos de uma string podem ser acessados usando
uma estrutura de repetição
F-string
• Tipo especial de String que facilita a incorporação de
variáveis
• É criada com f'...'
• Permite acessar expressões usando {...}
• Exemplo:
F-string
• Nem sempre as expressões numéricas aparecem como
gostaríamos
F-string
• É possível formatar as expressões, indicando o número de
casas decimais
Algumas Operações sobre Strings
• upper
• lower
• find
• strip
• split
• partition

• Leo
Método upper( )
• string.upper()
• Converte a string em letras maiúsculas
• A string original não é modificada!
• Leo
Método lower( )
• string.lower()
• Converte a string em letras minúsculas
• A string original não é modificada!
• Leo
Método find( )
• string.find(substring, inicio, fim)
• Retorna o índice da primeira ocorrência da substring dentro da
string, a partir da posição início, até a posição fim-1
• Retorna -1 se a substring não for encontrada
• início e fim são opcionais
• Não é possível informar fim sem informar início
• Leo
Método strip( )
• string.strip()
• Exclui os espaços vazios do início e do fim de uma string
• A string original não é modificada!
Exemplo:
'''
Exemplo1
Programa para gerar a citação a partir de um nome
– Ex.: Laercio Brito Gonçalves --> GONÇALVES, L. B. nome ‘Laercio Brito Gonçalves’
'''

nome = input('Entre com um nome completo: ').strip()

iniciais = ‘’ #cria uma string vazia


inicio = 0 # posição inicial
fim = nome.find(' ', inicio) #vai encontrar a posição do primeiro espaço encontrado dentro da string nome
while fim != -1: #enquanto substring não for encontrada
iniciais += nome[inicio] + '. '
inicio = fim + 1 #nova posição inicial
fim = nome.find(' ', inicio)

sobrenome = nome[inicio:len(nome)].upper() #transforma o ultimo sobrenome em maiusculas


print(sobrenome + ', ' + iniciais.upper().strip())
Exemplo:
'''
Exemplo1
Programa para gerar a citação a partir de um nome
– Ex.: Laercio Brito Gonçalves --> GONÇALVES, L. B. nome ‘Laercio Brito Gonçalves’
'''
iniciais ‘’
nome = input('Entre com um nome completo: ').strip()

iniciais = ‘’ #cria uma string vazia


inicio = 0 # posição inicial
fim = nome.find(' ', inicio) #vai encontrar a posição do primeiro espaço encontrado dentro da string nome
while fim != -1: #enquanto substring não for encontrada
iniciais += nome[inicio] + '. '
inicio = fim + 1 #nova posição inicial
fim = nome.find(' ', inicio)

sobrenome = nome[inicio:len(nome)].upper() #transforma o ultimo sobrenome em maiusculas


print(sobrenome + ', ' + iniciais.upper().strip())
Exemplo:
'''
Exemplo1
Programa para gerar a citação a partir de um nome
– Ex.: Laercio Brito Gonçalves --> GONÇALVES, L. B. nome ‘Laercio Brito Gonçalves’
'''
iniciais ‘’
nome = input('Entre com um nome completo: ').strip() inicio 0

iniciais = ‘’ #cria uma string vazia


inicio = 0 # posição inicial
fim = nome.find(' ', inicio) #vai encontrar a posição do primeiro espaço encontrado dentro da string nome
while fim != -1: #enquanto substring não for encontrada
iniciais += nome[inicio] + '. '
inicio = fim + 1 #nova posição inicial
fim = nome.find(' ', inicio)

sobrenome = nome[inicio:len(nome)].upper() #transforma o ultimo sobrenome em maiusculas


print(sobrenome + ', ' + iniciais.upper().strip())
Exemplo:
'''
Posição do primeiro espaço = 7
Exemplo1
Programa para gerar a citação a partir de um nome
– Ex.: Laercio Brito Gonçalves --> GONÇALVES, L. B. nome ‘Laercio Brito Gonçalves’
'''
iniciais ‘’
nome = input('Entre com um nome completo: ').strip() inicio 0

iniciais = ‘’ #cria uma string vazia fim 7


inicio = 0 # posição inicial
fim = nome.find(' ', inicio) #vai encontrar a posição do primeiro espaço encontrado dentro da string nome
while fim != -1: #enquanto substring não for encontrada
iniciais += nome[inicio] + '. '
inicio = fim + 1 #nova posição inicial
fim = nome.find(' ', inicio)

sobrenome = nome[inicio:len(nome)].upper() #transforma o ultimo sobrenome em maiusculas


print(sobrenome + ', ' + iniciais.upper().strip())
Exemplo:
'''
Posição do primeiro espaço = 7
Exemplo1
Programa para gerar a citação a partir de um nome
– Ex.: Laercio Brito Gonçalves --> GONÇALVES, L. B. nome ‘Laercio Brito Gonçalves’
'''
iniciais ‘’
nome = input('Entre com um nome completo: ').strip() inicio 0

iniciais = ‘’ #cria uma string vazia fim 7


inicio = 0 # posição inicial
fim = nome.find(' ', inicio) #vai encontrar a posição do primeiro espaço encontrado dentro da string nome
while fim != -1: #enquanto substring não for encontrada
iniciais += nome[inicio] + '. '
inicio = fim + 1 #nova posição inicial
fim = nome.find(' ', inicio)

sobrenome = nome[inicio:len(nome)].upper() #transforma o ultimo sobrenome em maiusculas


print(sobrenome + ', ' + iniciais.upper().strip())
Exemplo: Posição do primeiro espaço = 7

''' nome[0]
Exemplo1
Programa para gerar a citação a partir de um nome
– Ex.: Laercio Brito Gonçalves --> GONÇALVES, L. B. nome ‘Laercio Brito Gonçalves’
'''
iniciais ‘L.’
nome = input('Entre com um nome completo: ').strip() inicio 0

iniciais = ‘’ #cria uma string vazia fim 7


inicio = 0 # posição inicial
fim = nome.find(' ', inicio) #vai encontrar a posição do primeiro espaço encontrado dentro da string nome
while fim != -1: #enquanto substring não for encontrada
iniciais += nome[inicio] + '. '
inicio = fim + 1 #nova posição inicial
fim = nome.find(' ', inicio)

sobrenome = nome[inicio:len(nome)].upper() #transforma o ultimo sobrenome em maiusculas


print(sobrenome + ', ' + iniciais.upper().strip())
Exemplo: Posição do primeiro espaço = 7

''' nome[0]
Exemplo1
Programa para gerar a citação a partir de um nome
– Ex.: Laercio Brito Gonçalves --> GONÇALVES, L. B. nome ‘Laercio Brito Gonçalves’
'''
iniciais ‘L.’
nome = input('Entre com um nome completo: ').strip() inicio 8

iniciais = ‘’ #cria uma string vazia fim 7


inicio = 0 # posição inicial
fim = nome.find(' ', inicio) #vai encontrar a posição do primeiro espaço encontrado dentro da string nome
while fim != -1: #enquanto substring não for encontrada
iniciais += nome[inicio] + '. '
inicio = fim + 1 #nova posição inicial
fim = nome.find(' ', inicio)

sobrenome = nome[inicio:len(nome)].upper() #transforma o ultimo sobrenome em maiusculas


print(sobrenome + ', ' + iniciais.upper().strip())
Exemplo: Posição do primeiro espaço = 13

''' nome[0]
Exemplo1
Programa para gerar a citação a partir de um nome
– Ex.: Laercio Brito Gonçalves --> GONÇALVES, L. B. nome ‘Laercio Brito Gonçalves’
'''
iniciais ‘L.’
nome = input('Entre com um nome completo: ').strip() inicio 8

iniciais = ‘’ #cria uma string vazia fim 13


inicio = 0 # posição inicial
fim = nome.find(' ', inicio) #vai encontrar a posição do primeiro espaço encontrado dentro da string nome
while fim != -1: #enquanto substring não for encontrada
iniciais += nome[inicio] + '. '
inicio = fim + 1 #nova posição inicial
fim = nome.find(' ', inicio)

sobrenome = nome[inicio:len(nome)].upper() #transforma o ultimo sobrenome em maiusculas


print(sobrenome + ', ' + iniciais.upper().strip())
Exemplo: Posição do primeiro espaço = 13

''' nome[0]
Exemplo1
Programa para gerar a citação a partir de um nome
– Ex.: Laercio Brito Gonçalves --> GONÇALVES, L. B. nome ‘Laercio Brito Gonçalves’
'''
iniciais ‘L.’
nome = input('Entre com um nome completo: ').strip() inicio 8

iniciais = ‘’ #cria uma string vazia fim 13


inicio = 0 # posição inicial
fim = nome.find(' ', inicio) #vai encontrar a posição do primeiro espaço encontrado dentro da string nome
while fim != -1: #enquanto substring não for encontrada
iniciais += nome[inicio] + '. '
inicio = fim + 1 #nova posição inicial
fim = nome.find(' ', inicio)

sobrenome = nome[inicio:len(nome)].upper() #transforma o ultimo sobrenome em maiusculas


print(sobrenome + ', ' + iniciais.upper().strip())
Exemplo: Posição do primeiro espaço = 13

''' nome[8]
Exemplo1
Programa para gerar a citação a partir de um nome
– Ex.: Laercio Brito Gonçalves --> GONÇALVES, L. B. nome ‘Laercio Brito Gonçalves’
'''
iniciais ‘L.B.’
nome = input('Entre com um nome completo: ').strip() inicio 8

iniciais = ‘’ #cria uma string vazia fim 13


inicio = 0 # posição inicial
fim = nome.find(' ', inicio) #vai encontrar a posição do primeiro espaço encontrado dentro da string nome
while fim != -1: #enquanto substring não for encontrada
iniciais += nome[inicio] + '. '
inicio = fim + 1 #nova posição inicial
fim = nome.find(' ', inicio)

sobrenome = nome[inicio:len(nome)].upper() #transforma o ultimo sobrenome em maiusculas


print(sobrenome + ', ' + iniciais.upper().strip())
Exemplo: Posição do primeiro espaço = 13

''' nome[8]
Exemplo1
Programa para gerar a citação a partir de um nome
– Ex.: Laercio Brito Gonçalves --> GONÇALVES, L. B. nome ‘Laercio Brito Gonçalves’
'''
iniciais ‘L.B.’
nome = input('Entre com um nome completo: ').strip() inicio 14

iniciais = ‘’ #cria uma string vazia fim 13


inicio = 0 # posição inicial
fim = nome.find(' ', inicio) #vai encontrar a posição do primeiro espaço encontrado dentro da string nome
while fim != -1: #enquanto substring não for encontrada
iniciais += nome[inicio] + '. '
inicio = fim + 1 #nova posição inicial
fim = nome.find(' ', inicio)

sobrenome = nome[inicio:len(nome)].upper() #transforma o ultimo sobrenome em maiusculas


print(sobrenome + ', ' + iniciais.upper().strip())
Exemplo: Posição do primeiro espaço = -1

''' nome[8]
Exemplo1 Não há mais
espaço
Programa para gerar a citação a partir de um nome
– Ex.: Laercio Brito Gonçalves --> GONÇALVES, L. B. nome ‘Laercio Brito Gonçalves’
'''
iniciais ‘L.B.’
nome = input('Entre com um nome completo: ').strip() inicio 14

iniciais = ‘’ #cria uma string vazia fim -1


inicio = 0 # posição inicial
fim = nome.find(' ', inicio) #vai encontrar a posição do primeiro espaço encontrado dentro da string nome
while fim != -1: #enquanto substring não for encontrada
iniciais += nome[inicio] + '. '
inicio = fim + 1 #nova posição inicial
fim = nome.find(' ', inicio)

sobrenome = nome[inicio:len(nome)].upper() #transforma o ultimo sobrenome em maiusculas


print(sobrenome + ', ' + iniciais.upper().strip())
Exemplo: Posição do primeiro espaço = -1

''' nome[8]
Exemplo1 Não há mais
espaço
Programa para gerar a citação a partir de um nome
– Ex.: Laercio Brito Gonçalves --> GONÇALVES, L. B. nome ‘Laercio Brito Gonçalves’
'''
iniciais ‘L.B.’
nome = input('Entre com um nome completo: ').strip() inicio 14

iniciais = ‘’ #cria uma string vazia fim -1


inicio = 0 # posição inicial
fim = nome.find(' ', inicio) #vai encontrar a posição do primeiro espaço encontrado dentro da string nome
while fim != -1: #enquanto substring não for encontrada
iniciais += nome[inicio] + '. '
inicio = fim + 1 #nova posição inicial
fim = nome.find(' ', inicio)

sobrenome = nome[inicio:len(nome)].upper() #transforma o ultimo sobrenome em maiusculas


print(sobrenome + ', ' + iniciais.upper().strip())
Exemplo:
''' nome[14:23]
Exemplo1
Programa para gerar a citação a partir de um nome
– Ex.: Laercio Brito Gonçalves --> GONÇALVES, L. B. nome ‘Laercio Brito Gonçalves’
'''
iniciais ‘L.B.’
nome = input('Entre com um nome completo: ').strip() inicio 14

iniciais = ‘’ #cria uma string vazia fim -1


inicio = 0 # posição inicial
fim = nome.find(' ', inicio) #vai encontrar a posição do primeiro espaço encontrado dentro da string nome
while fim != -1: #enquanto substring não for encontrada
iniciais += nome[inicio] + '. '
inicio = fim + 1 #nova posição inicial sobrenome ‘GONÇALVES’
fim = nome.find(' ', inicio)

sobrenome = nome[inicio:len(nome)].upper() #transforma o ultimo sobrenome em maiusculas


print(sobrenome + ', ' + iniciais.upper().strip())
Exemplo:
''' nome[14:23]
Exemplo1
Programa para gerar a citação a partir de um nome
– Ex.: Laercio Brito Gonçalves --> GONÇALVES, L. B. nome ‘Laercio Brito Gonçalves’
'''
iniciais ‘L.B.’
nome = input('Entre com um nome completo: ').strip() inicio 14

iniciais = ‘’ #cria uma string vazia fim -1


inicio = 0 # posição inicial
fim = nome.find(' ', inicio) #vai encontrar a posição do primeiro espaço encontrado dentro da string nome
while fim != -1: #enquanto substring não for encontrada
iniciais += nome[inicio] + '. '
inicio = fim + 1 #nova posição inicial sobrenome ‘GONÇALVES’
fim = nome.find(' ', inicio)

sobrenome = nome[inicio:len(nome)].upper() #transforma o ultimo sobrenome em maiusculas


print(sobrenome + ', ' + iniciais.upper().strip()) TELA
GONÇALVES,L.B.
Método split( )
• string.split(separador)
• Separa a string em "pedaços" que aparecem antes e
depois do separador. Se o separador não for especificado,
é usado espaços em branco, tabs e quebras de linha como
separador
• Útil para ler várias entradas de uma única vez
Método split( ) - Exemplos

x, y = input("Digite dois valores: ").split() Digite dois valores: 10 20


print(x) 10
print(y) 20

dia, mes, ano = input("Digite uma data:").split("/")


print(dia)
print(mes) Digite uma data:31/05/2021
print(ano) 31
05
2021
Método split( ) - Exemplos

fila = input("Digite uma sequencia de números separados por espaço: ")


for item in fila.split(" "):
print(item)

Digite uma sequencia de números separados por espaço: 1 2 3 4 5 6


1
2
3
4
5
6
Método partition( )
• string.partition(separador)
• Separa a string em três pedaços: o que vem antes da
primeira ocorrência do separador, o separador e o que
vem depois do separador
• Útil para ler várias entradas de uma única vez, quando
não é possível (pela lógica do problema) usar o for para
iterar sobre o split da entrada
Método partition( ) - Exemplos

antes, sep, depois = input("Digite valores:").partition("-") Digite valores:10-20-30-40-50


print(antes) 10
print(sep) -
print(depois) 20-30-40-50

antes, sep, depois = input("Digite valores:").partition(" ") Digite valores:10 20 30 40 50


print(antes) 10
print(sep)
print(depois) 20 30 40 50
Exercícios:
1.Escreva um programa que lê uma frase, uma palavra antiga
e uma palavra nova. O programa deve imprimir a frase com
as ocorrências da palavra antiga substituídas pela palavra
nova.
 Exemplo:
– Frase: “Quem parte e reparte fica com a maior parte”
– Palavra antiga: “parte”
– Palavra nova: “parcela”
– Saída: “Quem parcela e reparte fica com a maior parcela”
Exercícios:
2. Faça um programa que lê uma frase e retorna o número de
palavras que a frase contém.
3. Faça um programa que recebe uma frase e substitui todas
as ocorrências de espaço por “#”.
Exercícios:
4. 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.
5. 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”. Obs.: utilize a função sorted() que
transforma uma string em uma lista de caracteres em ordem crescente.
• Leo Murta
Exercícios:
6.Faça um programa que leia o nome do usuário e mostre o
nome de trás para frente, utilizando somente letras
maiúsculas.

Exemplo:
Nome = Vanessa
Resultado gerado pelo programa:
ASSENAV
Exercícios:
7. 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 = Vanessa
Resultado gerado pelo programa:
V
VA
VAN
VANE
VANES
VANESS
VANESSA
Exercícios:
8.Faça um programa que leia uma data de nascimento válida
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:


20 de fevereiro de 1995

Você também pode gostar