Convertir string a mayúsculas y minúsculas en Python

El caso del título es un estilo de escritura que se utiliza para los títulos de artículos, libros, películas y otras obras. Las reglas para escribir en caso de título son:

1) Siempre en mayúscula la primera palabra.
2) Escriba con mayúscula todas las palabras excepto las siguientes partes del discurso:

  • artículos – un, un, el
  • conjunciones coordinantes – y, pero, para, ni, o, así que, todavía
  • preposiciones cortas – a, en, arriba, desde, etc.

Ejemplos:

Input : The quick brown fox jumps over the lazy dog.
Output : The Quick Brown Fox Jumps over the Lazy Dog.

Input : A tale of two cities
Output : A Tale of Two Cities

Algoritmo:

  1. Haz una lista de todas las palabras que tienen que estar en minúsculas.
  2. Para cada palabra en la entrada, verifique si está en la lista anterior o no.
  3. En caso afirmativo, ignore la palabra, en caso contrario, escriba en mayúscula su primer carácter.

La implementación del algoritmo anterior es:

# Function to convert into title case
def generateTitleCase(input_string):
      
    # list of articles
    articles = ["a", "an", "the"]
      
    # list of coordinating conjunctins
    conjunctions = ["and", "but",
                    "for", "nor",
                    "or", "so",
                    "yet"]
      
    # list of some short articles
    prepositions = ["in", "to", "for", 
                    "with", "on", "at",
                    "from", "by", "about",
                    "as", "into", "like",
                    "through", "after", "over",
                    "between", "out", "against", 
                    "during", "without", "before",
                    "under", "around", "among",
                    "of"]
      
    # merging the 3 lists
    lower_case = articles + conjunctions + prepositions
      
    # variable declaration for the output text 
    output_string = ""
      
    # separating each word in the string
    input_list = input_string.split(" ")
      
    # checking each word
    for word in input_list:
          
        # if the word exists in the list
        # then no need to capitalize it
        if word in lower_case:
            output_string += word + " "
              
        # if the word does not exists in
        # the list, then capitalize it
        else:
            temp = word.title()
            output_string += temp + " "
              
      
    return output_string
  
# Driver code  
if __name__=='__main__':  
    input_text1 = "The quick brown fox jumps over the lazy dog."
    input_text2 = "A tale of two cities"
      
    print(generateTitleCase(input_text1)) 
    print(generateTitleCase(input_text2)) 

Producción :

The Quick Brown Fox Jumps over the Lazy Dog. 
A Tale of Two Cities 

Publicación traducida automáticamente

Artículo escrito por Yash_R y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *