Title case is a style of writing that is used for the titles of articles, books, movies, and other works. The rules for writing in title case are:
1) Always capitalize the first word.
2) Capitalize all words except the following parts of speech:
- articles – a, an, the
- coordinating conjunctions – and, but, for, nor, or, so, yet
- short prepositions – to, in, up, from etc
Examples:
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
Algorithm :
- Make a list of all the words that have to be in lower case.
- For every word in the input, check whether it is in the above list or not.
- If yes then ignore the word, if no then capitalize its first character.
The implementation of the above algorithm is:
# 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)) |
Output :
The Quick Brown Fox Jumps over the Lazy Dog. A Tale of Two Cities