Métodos de String
Teoria
Aprofundando conhecimentos em Strings
Fala aí! Aqui eu considero que você já tá manjando tudo de strings, beleza?! Acontece que a maioria das operações que a gente precisa fazer, o Python já pode fazer automaticamente com o uso de métodos (funções) que já vem prontos. Hoje a gente vai bater um papo sobre esses métodos e como eles podem facilitar sua vida durante o desenvolvimento das suas resoluções nas provas, beleza?! Enfatizando que tudo que eu vou falar aqui dá pra fazer com os conteúdos que a gente já tem, mas se torna MUITO mais fácil decorando alguns métodos. Vamo lá?!
upper() e lower()
Primeiramente, esses métodos são usados pra pegar uma cópia de uma string em caixa alta (upper()) ou caixa baixa (lower()).
Se liga que a gente pegou uma cópia maiúscula no primeiro print() e minúscula no segundo print(), porém a string original continua intacta, beleza?!
Essas funções geralmente são úteis quando a gente quer fazer comparações entre strings, se você estiver comparando só o conteúdo, sem se importar com a capitalização.
strip() e split()
Essas funções são capazes de limpar uma string e separar uma string em uma lista, respectivamente.
Se liga na primeira string, ela tem um \n no fim e um espaço na frente. A versão strip() dessa string contém apenas o texto, só o que importa. Agora, na segunda string eu usei o método split() e disse pra separar a string em uma lista usando o espaço “ “ como delimitador. Poderia ser qualquer outro delimitador.
Nesse caso a gente separou a string em todas as ocorrências de “,” (vírgula). Mas se liga que, assim como nos métodos upper() e lower(), as variáveis originais continuam intocadas. Esses métodos retornar cópias modificadas, mas a original continua lá guardada na variável.
Esses dois métodos são especialmente úteis em exercícios de arquivos, já que cada linha de um arquivo termina com “\n” e geralmente a gente tem várias informações por linha e queremos separar elas de alguma forma.
index() e find()
Esses métodos têm a mesma finalidade. Com eles, a gente pode saber a localização da primeira ocorrência de um caractere na string. A diferença é que o index() retorna um erro caso o caractere não exista, enquanto o find() retorna -1.
Só é possível usando o index() quando temos certeza que existe caractere na string. Com o find, podemos checar. No entanto, dá no mesmo no fim, pois precisamos checar se o resultado é -1 ou não. São só duas formas de fazer a mesma coisa.
Nos dois casos é necessário checar se o caractere existe. Mas com o index() é preciso checar antes, e com find() é preciso checar depois.
Outros
Beleza! Eu separei e detalhei pra você os métodos mais importantes e que realmente podem salvar a sua vida na prova. Mas não são os únicos. Caso você esteja com tempo e curiosidade, vou deixar uma tabelinha aqui com todos os métodos. Porém, enfatizo, os mais importantes a gente já falou, ok?!
Valeu, cara! Partiu fazer exercícios pra ficar FERA nessa parada de string?! Bora!
strip() e split()
index() e find()
Outros
Exercícios Resolvidos
Exercício Resolvido #1
Universidade Federal Fluminense (UFF), Programação em Python – Manipulando Strings, Vanessa Braganholo, 2019, Adaptação do exercício 01.
Escreva um função que receba uma frase e uma palavra. A função deve ser capaz de retornar a frase original, mas com a última palavra da frase substituída pela palavra nova. As entradas e saídas do programa devem ser realizadas no código principal.
Passo 1
Vamos começar o nosso programa definindo a função responsável por realizar a troca da última palavra da frase recebida como parâmetro pela nova palavra (também recebida como parâmetro):
Onde basicamente temos a função que recebe (frase) e (nova palavra) como parâmetros.
Após isso, atribuímos a uma variável uma lista com a separação de cada palavra da frase , observe que isso pode ser feito através do método split.
Em seguida, atribuímos a variável o último elemento da lista armazenada em , que nada mais é do que a última palavra da frase original.
Por fim, utilizamos o método replace para substituir (última palavra da frase original) por (nova palavra recebida como parâmetro) e retornamos isso ao programa principal.
Passo 2
Com a nossa função definida, podemos codificar o programa principal:
Que basicamente requisita ao usuário a entrada da frase e da nova palavra, atribui a o retorno obtido na chamada da função passando como parâmetros e e, por fim, imprime na tela o conteúdo de (frase original com a última palavra substituída pela nova palavra).
Resposta
Ei, a resposta está no passo a passo :)
Exercício Resolvido #2
Universidade Federal Fluminense (UFF), Programação em Python – Manipulando Strings, Vanessa Braganholo, 2019, Adaptação do exercício 02.
Desenvolva uma função que receba como parâmetro uma cadeia de DNA e retorne uma cadeia complementar. A entrada e saída de dados do programa deve ser feita no código principal.
Exemplo de funcionamento do programa:
Passo 1
Vamos começar o nosso programa definindo a função :
Essa função recebe como parâmetro uma cadeia de DNA e divide cada uma das base nitrogenadas presentes nela em uma lista , através da função split.
Após isso, utilizamos o comando for para percorrermos adicionando em a base nitrogenada correspondente ao elemento obtido. Por exemplo, se o primeiro elemento de for “A” o primeiro elemento de deve ser “T” e assim por diante.
Por fim, basta retornarmos ao código principal.
Passo 2
Com a função definida, podemos codificar o código principal:
Que consiste basicamente em obter a primeira sequência de bases nitrogenadas e passá-las como parâmetro para a função . Em seguida, o programa irá através de um comando for imprimir o conteúdo da lista (cadeia complementar de bases nitrogenadas) obtida no retorno da função.
Resposta
Ei, a resposta está no passo a passo :)
Exercício Resolvido #3
Universidade Federal Fluminense (UFF), Programação em Python – Manipulando Strings, Vanessa Braganholo, 2019, Adaptação do exercício 03.
Desenvolva uma função que receba como parâmetro uma frase e seja capaz de retornar o número de palavras que ela contém. As entradas e saídas de dados do programa devem ser feitas no código principal.
Passo 1
Vamos começar o nosso programa pela definição da função:
A função basicamente utiliza o método split para separar cada uma das palavras da frase recebida como parâmetro em uma lista . Após isso, utiliza outro método, chamado len, para retornar ao código principal a quantidade de elementos da lista (quantidade de palavras da frase).
Passo 2
Com a função definida podemos codificar o código principal:
Que basicamente consiste em ler a frase digitada pelo usuário, passar a mesma como parâmetro para a função e imprimir na tela o retorno obtido (número de palavras da frase).
Resposta
Ei, a resposta está no passo a passo :)
Exercício Resolvido #4
Universidade Federal Fluminense (UFF), Programação em Python – Manipulando Strings, Vanessa Braganholo, 2019, Adaptação do exercício 04.
Desenvolva uma função que receba uma frase como parâmetro e retorne uma nova frase onde todos os espaços originalmente presentes sejam substituídos por “#”. As entradas e saídas de dados devem ser realizadas no código principal.
Passo 1
Vamos começar o nosso programa definindo a função :
Que basicamente é responsável por pegar a frase recebida como parâmetro e utilizar o método replace passando para o mesmo o que será substituído (espaço em branco) pelo o que será substituído (hashtag). Por fim, a função simplesmente retorna a substituição realizada.
Passo 2
Com a função definida, basta codificarmos o código principal:
Que consiste simplesmente em requisitar a entrada da frase, passar a mesma como parâmetro para a função e imprimir a nova frase (em que os espaços são substituídos por hashtags) obtida através do retorno da função.
Resposta
Ei, a resposta está no passo a passo :)
Exercício Resolvido #5
Elaboração própria.
Faça um programa que receba como entrada um frase e imprima essa frase substituindo os caracteres maiúsculos por minúsculos e vice-versa.
Passo 1
Beleza, vamos lá! O código desse programa é bem simples, ele praticamente é feito dentro de uma estrutura for, saca só:
A grande sacada aqui é sabermos utilizar os métodos de string islower (verifica se todos os caracteres de uma string são minúsculos), lower (cria uma cópia de uma string com todos os caracteres minúsculos) e upper (cria uma cópia de uma string com todos os caracteres maiúsculos).
Passo 2
Com isso, nós iremos percorrer cada caractere da string utilizando o método islower para verificarmos se o caractere é minúsculo. Caso seja, utilizaremos o método upper para imprimirmos esse mesmo caractere em maiúsculo, caso contrário, o método lower para realizarmos a impressão desse caractere em minúsculo.
Resposta
Ei, a resposta está no passo a passo :)
Exercício Resolvido #6
Elaboração própria.
Observe a função a seguir:
Substitua a linha de código indicada acima pela aplicação de um dos métodos de string que faça com que essa função seja capaz de imprimir na tela a posição da primeira ocorrência de determinada substring na string .
Passo 1
Para resolvermos esse exercício temos que conhecer o método de string find, que é responsável por verificar a presença de determinada substring em uma string e retornar a posição do primeiro caractere de dela.
Passo 2
Sendo assim, basta utilizarmos o método find da string passando como parâmetro a substring (caractere inserido pelo usuário).
Resposta
Portanto, a função é definida da seguinte forma:
Exercício Resolvido #7
Elaboração própria.
Desenvolva uma função que receba como parâmetro uma frase e uma palavra e seja capaz de identificar a quantidade de ocorrências dessa palavra na frase. As entradas e saídas de dados devem ser realizadas no código principal.
Passo 1
Vamos começar o nosso programa definindo a função :
Que basicamente é responsável por pegar a frase recebida como parâmetro e utilizar o método count passando como parâmetro para o mesmo a palavra que terá suas ocorrências contadas. Após isso, a função simplesmente retorna a quantidade de ocorrências obtidas no retorno do método da string.
Passo 2
Com a função definida, vamos agora codificar o código principal do programa:
Que consiste simplesmente em requisitar a entrada da frase que servirá de base e da palavra que terá suas ocorrências contadas na frase, passar as mesmas como parâmetros para a função e imprimir a quantidade de ocorrências obtidas através do retorno da função.
Resposta
Ei, a resposta está no passo a passo :)
Exercício Resolvido #8
Elaboração própria.
Faça uma função que receba como parâmetro a URL de um site e retorne essa mesma URL sem o prefixo “https://”. As entradas e saídas de dados devem ser realizadas no código principal.
Exemplo de funcionamento:
Passo 1
Bom, vamos começar entendendo que método teremos que utilizar.
De certa forma, o que nós queremos fazer é “limpar” o prefixo “https://” do início de uma string que armazena a URL de um site. Sendo assim, podemos utilizar o método de string strip, que é responsável por analisar e remover uma substring passada como parâmetro das extremidades de uma determinada string.
Passo 2
Agora que já conhecemos o método que iremos utilizar, basta definirmos a função :
Que basicamente irá pegar a URL recebida como parâmetro e remover dela a substring passada como argumento do método strip. Por fim, essa função irá simplesmente retornar a URL “limpa”.
Passo 3
Com a função definida, basta desenvolvermos o código principal:
Que basicamente irá requisitar a entrada da URL ao usuário, passar a mesma como parâmetro da função e imprimir a nova URL (sem o prefixo “https://”) obtida através do retorno dessa mesma função.
Resposta
Ei, a resposta está no passo a passo :)