Wednesday, June 24, 2020

Text Alignment-HackerRank Solution


 

Text Alignment-HackerRank Solution

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

.ljust(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.

Output Format

Output the desired logo.

Sample Input

5

Sample Output

Text Alignment Solution
#Replace all ______ with rjust, ljust or center. 

thickness = int(input()) #This must be an odd number
# print(thickness)
c = 'H'

# Top Cone prints the H based on H input
for i in range(thickness):
    print((c * i).rjust(thickness - 1) + c + (c * i).ljust(thickness - 1))

# Top Pillars prints the lines below the top cone
for i in range(thickness + 1):
    print((c * thickness).center(thickness * 2) +
          (c * thickness).center(thickness * 6))

# Middle Belt prints the continuous row of H
for i in range((thickness + 1) // 2):
    print((c * thickness * 5).center(thickness * 6))

# Bottom Pillars prints the lines above the bottom cone
for i in range(thickness + 1):
    print((c * thickness).center(thickness * 2) +
          (c * thickness).center(thickness * 6))

# Bottom Cone prints the cone on the right hand side
for i in range(thickness):
    print(((c * (thickness - i - 1)).rjust(thickness) + c +
          (c * (thickness - i - 1)).ljust(thickness)).rjust(thickness * 6))

0 comments:

Post a Comment

Feel free to share your thoughts and suggestion...