Pesquisa de site

Programa Python para colocar caracteres repetidos em maiúscula em uma string


Neste artigo, aprenderemos como colocar caracteres repetidos em maiúscula em uma string em python.

Métodos usados

A seguir estão os vários métodos para realizar esta tarefa -

  • Usando hash de dicionário

  • Usando a função count()

  • Usando funções replace() e len()

  • Usando a função Counter()

Exemplo

Suponha que pegamos uma string de entrada contendo algum texto aleatório. Agora converteremos os caracteres repetidos em uma string de entrada em letras maiúsculas usando os métodos acima.

Entrada

inputString = 'hello tutorialspoint'

Saída

heLLO TuTOrIaLspOInT

Na string de entrada acima, os caracteres l, o, t, i são repetidos. Portanto, eles são convertidos em letras maiúsculas/maiúsculas.

Método 1: usando hash de dicionário

Algoritmo (etapas)

A seguir estão o Algoritmo/etapas a serem seguidas para realizar a tarefa desejada -.

  • Crie uma função RepeatedCharToUpper() que retorne os caracteres repetidos em uma string para letras maiúsculas, aceitando a string de entrada como argumento.

  • Crie um dicionário vazio para armazenar frequências de caracteres de string.

  • Use o loop for para percorrer cada caractere de uma string de entrada.

  • Use a instrução if condicional para verificar se o caracter atual já está presente no novo dicionário criado acima.

  • Aumentando a frequência/contagem de caracteres em 1, se a condição for verdadeira

  • Caso contrário, adicione este caractere ao dicionário com o valor 1.

  • Novamente, use o loop for para percorrer cada caractere de uma string de entrada.

  • Use a instrução if condicional para verificar se a frequência do caractere atual é maior que 1 (se contagem>1 então ele será repetido).

  • Use a função upper() para alterar o caractere para maiúsculo.

  • Adicione esse caractere atual à string resultante.

  • Retorne a string resultante.

  • Crie uma variável para armazenar a string de entrada.

  • Chame a função RepeatedCharToUpper() definida acima, passando a string de entrada para ela e imprima o resultado.

Exemplo

O programa a seguir retorna uma string após converter todos os caracteres repetidos em uma string em maiúsculas usando hash de dicionário -

# function to change the repeated characters in a string to uppercase

# by accepting the input string as an argument
def RepeatedCharToUpper(inputString):

   # Creating an empty dictionary to store characters with their frequencies
   newDict = {}
   
   # traversing through each character of an input string
   for c in inputString:
   
      # checking whether the character is present in the above dictionary
      if c in newDict:
      
      # Incrementing the frequency/count of character by 1
         newDict[c] = newDict[c]+1
      
      # Else insert this character in the dictionary
      else:
         newDict[c] = 1
   
   # Taking a variable to store the string
   res = ''
   
   # traversing through each character of an input string
   for c in inputString:
   
      # checking if character frequency is greater than 1(repeated character)
      if newDict[c] > 1:
      
         # As it is repeated so changing this character into uppercase
         c = c.upper()
      
      # adding each character to the resultant string
      res = res+c
      
   # returning the resultant string
   return res
   
# input string
inputString = 'hello tutorialspoint'
   
# calling the above defined RepeatedCharToUpper() function
# by passing input string to it
print(RepeatedCharToUpper(inputString))

Saída

Ao ser executado, o programa acima irá gerar a seguinte saída -

heLLO TuTOrIaLspOInT

Método 2: usando a função count()

Função contagem de string()

Retorna o não. muitas vezes o valor fornecido (char) aparece em uma string.

Sintaxe

string.count(value, start, end)

Exemplo

O programa a seguir retorna uma string após converter todos os caracteres repetidos em uma string em letras maiúsculas usando a função count() -

# input string
inputString = 'hello tutorialspoint'

# empty string for storing resultant string
res = ""

# traversing through each character of an input string
for c in inputString:
   
   # checking whether the current character is not space and # its frequency is greater than 1
   if(c != "" and inputString.count(c) > 1):
      
      # converting to uppercase if the condition
      
      # and adding it to the resultant string
      res += c.upper()
   else:
      
      # else adding that current character to the resultant string without modifying
      res += c
print("Resultant string after capitalizing repeated characters:\n", res)

Saída

Ao ser executado, o programa acima irá gerar a seguinte saída -

Resultant string after capitalizing repeated characters:
heLLO TuTOrIaLspOInT

Método 3: usando as funções replace() e len()

função len() - O número de itens em um objeto é retornado pelo método len(). A função len() retorna o número de caracteres em uma string quando o objeto é uma string.

função replace() - retorna uma cópia da string que substitui todas as ocorrências de uma substring antiga por outra nova substring.

Sintaxe

string.replace(old, new, count)

Exemplo

O programa a seguir retorna uma string após converter todos os caracteres repetidos em uma string em letras maiúsculas usando as funções replace() e len() -

# input string
inputString = 'hello tutorialspoint'

# getting string length
stringLength = len(inputString)

# empty string for storing resultant string
res = ""

# traversing through each character of an input string
for c in inputString:
   
   # replacing the current character with space
   k = inputString.replace(c, "")
   if(len(k) != stringLength-1):
      res += c.upper()
   else:
      res += c
print("Resultant string after capitalizing repeated characters:\n", res)

Saída

Ao ser executado, o programa acima irá gerar a seguinte saída –

Resultant string after capitalizing repeated characters:
heLLO TuTOrIaLspOInT

Método 4: usando a função Counter()

Função Counter() - uma subclasse que conta os objetos hasháveis. Ele cria implicitamente uma tabela hash de um iterável quando chamado/invocado.

Aqui ele retorna a frequência dos caracteres da string como pares de valores-chave.

Exemplo

O programa a seguir retorna uma string após converter todos os caracteres repetidos em uma string em letras maiúsculas usando a função Counter() -

# importing Counter from the collections module
from collections import Counter

# input string
inputString = 'hello tutorialspoint'

# empty string for storing resultant string
res = ""

# getting the frequency of characters as a dictionary
frequency = Counter(inputString)

# traversing through each character of an input string
for c in inputString:
   
   # checking whether the current character is not space and its frequency is greater than 1
   if(c != "" and frequency[c] > 1):
      res += c.upper()
   else:
      res += c
print("Resultant string after capitalizing repeated characters:\n", res)

Saída

Resultant string after capitalizing repeated characters:
heLLO TuTOrIaLspOInT

Conclusão

Neste post, aprendemos 4 métodos distintos para colocar caracteres repetidos em maiúscula em uma string. Também descobrimos como obter as frequências de qualquer iterável usando hash de dicionário.

Artigos relacionados: