Python | Print the initials of a name with last name in full

Given a name, print the initials of a name(uppercase) with last name(with first alphabet in uppercase) written in full separated by dots.


Input : geeks for geeks
Output : G.F.Geeks

Input : mohandas karamchand gandhi
Output : M.K.Gandhi 

A naive approach of this will be to iterate for spaces and print the next letter after every space except the last space. At last space we have to take all the characters after the last space in a simple approach.

Using Python in inbuilt functions we can split the words into a list, then traverse till the second last word and print the first character in capitals using upper() function in python and then add the last word using title() function in Python which automatically converts the first alphabet to capital.





# python program to print initials of a name 
def name(s):
    # split the string into a list 
    l = s.split()
    new = ""
    # traverse in the list 
    for i in range(len(l)-1):
        s = l[i]
        # adds the capital first character 
        new += (s[0].upper()+'.')
    # l[-1] gives last item of list l. We
    # use title to print first character in
    # capital.
    new += l[-1].title()
    return new 
# Driver code            
s ="mohandas karamchand gandhi" 




Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.