Text Alignment HackerRank Solution In Python

Problem

In Python, a string of text can be aligned left, right and center.

.Ijust(width)

This method returns a left aligned string of length width.

>>> width = 20>>> print 'HackerRank'.ljust(width,'-')HackerRank----------  

.center(width)

This method returns a centered string of length width.

>>> width = 20>>> print 'HackerRank'.center(width,'-')-----HackerRank-----

.rjust(width)

This method returns a right aligned string of length width.

>>> width = 20>>> print 'HackerRank'.rjust(width,'-')----------HackerRank

Task

You are given a partial code that is used for generating the HackerRank Logo of variable thickness.

Your task is to replace the blank (______) with rjust, ljust or center.

Input Format

A single line containing the thickness value for the logo.

Constraints

The thickness must be an odd number.

0 < thickness < 50

Output Format

Output the desired logo.

Sample Input

5

Sample Output

    H       HHH     HHHHH   HHHHHHH HHHHHHHHH  HHHHH               HHHHH               HHHHH               HHHHH               HHHHH               HHHHH               HHHHH               HHHHH               HHHHH               HHHHH               HHHHH               HHHHH               HHHHHHHHHHHHHHHHHHHHHHHHH     HHHHHHHHHHHHHHHHHHHHHHHHH     HHHHHHHHHHHHHHHHHHHHHHHHH     HHHHH               HHHHH               HHHHH               HHHHH               HHHHH               HHHHH               HHHHH               HHHHH               HHHHH               HHHHH               HHHHH               HHHHH                                 HHHHHHHHH                      HHHHHHH                        HHHHH                          HHH                            H 

Solution to HackerRank Text Alignment In Python

thickness = int(input()) #This must be an odd numberc = 'H'#Top Conefor i in range(thickness):    print((c*i).rjust(thickness-1)+c+(c*i).ljust(thickness-1))#Top Pillarsfor i in range(thickness+1):    print((c*thickness).center(thickness*2)+(c*thickness).center(thickness*6))#Middle Beltfor i in range((thickness+1)//2):    print((c*thickness*5).center(thickness*6))    #Bottom Pillarsfor i in range(thickness+1):    print((c*thickness).center(thickness*2)+(c*thickness).center(thickness*6))    #Bottom Conefor i in range(thickness):    print(((c*(thickness-i-1)).rjust(thickness)+c+(c*(thickness-i-1)).ljust(thickness)).rjust(thickness*6))

Comments