Posts Text_Alignment (Python 3)
Post
Cancel

Text_Alignment (Python 3)

1
2
3
>>> width = 20
>>> print 'HackerRank'.ljust(width,'-')
HackerRank----------  
  • .center(width)
    • This method returns a centered string of length width.
1
2
3
>>> width = 20
>>> print 'HackerRank'.center(width,'-')
-----HackerRank-----
  • .rjust(width)
    • This method returns a right aligned string of length width.
1
2
3
>>> 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.

문제풀이

  • .ljust(width), .center(width) .rjust(width)를 이용하여 ____를 알맞은 함수로 변경하는 문제
  • 처음엔 무슨소리가 싶긴했는데, 해당 문제의 output을 잘보며 center, ljust, rjust를 잘 이용하여 풀면 쉬웠다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#Replace all ______ with rjust, ljust or center. 

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

#Top Cone
for i in range(thickness):
    print((c*i).______(thickness-1)+c+(c*i).______(thickness-1))

#Top Pillars
for i in range(thickness+1):
    print((c*thickness).______(thickness*2)+(c*thickness).______(thickness*6))

#Middle Belt
for i in range((thickness+1)//2):
    print((c*thickness*5).______(thickness*6))    

#Bottom Pillars
for i in range(thickness+1):
    print((c*thickness).______(thickness*2)+(c*thickness).______(thickness*6))    

#Bottom Cone
for i in range(thickness):
    print(((c*(thickness-i-1)).______(thickness)+c+(c*(thickness-i-1)).______(thickness)).______(thickness*6))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#Replace all ______ with rjust, ljust or center. oK

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

#Top Cone
for i in range(thickness):
    print((c*i).rjust(thickness-1)+c+(c*i).ljust(thickness-1))

#Top Pillars
for i in range(thickness+1):
    print((c*thickness).center(thickness*2)+(c*thickness).center(thickness*6))

#Middle Belt
for i in range((thickness+1)//2):
    print((c*thickness*5).center(thickness*6))    

#Bottom Pillars
for i in range(thickness+1):
    print((c*thickness).center(thickness*2)+(c*thickness).center(thickness*6))    

#Bottom Cone
for i in range(thickness):
    print(((c*(thickness-i-1)).rjust(thickness)+c+(c*(thickness-i-1)).ljust(thickness)).rjust(thickness*6))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 5


    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     
1
This post is licensed under CC BY 4.0 by the author.