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.

Examples:

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.

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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" 
print(name(s))        

chevron_right


Output:

M.K.Gandhi


My Personal Notes arrow_drop_up

Striver(underscore)79 at Codechef and codeforces D

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. 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.