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.