Skip to content Skip to sidebar Skip to footer

Right Justify Python

how can I justify the output of this code? N = int(input()) case = '#' print(case) for i in range(N): case += '#' print(case)

Solution 1:

You can use format with > to right justify

N = 10for i inrange(1, N+1):
    print('{:>10}'.format('#'*i))

Output

#######################################################

You can programattically figure out how far to right-justify using rjust as well.

for i in range(1, N+1):
    print(('#'*i).rjust(N))

Solution 2:

Seems like you might be looking for rjust:

https://docs.python.org/2/library/string.html#string.rjust

my_string = 'foo'print my_string.rjust(10)
'       foo'

Solution 3:

The string.format() method has this as part of its syntax.

print"{:>10}".format(case)

The number in the string tells python how many characters long the string should be, even if it's larger than the length of case. And the greater than sign tells it to right justify case within that space.

Solution 4:

N = int(input())
for i inrange(N+1):
    print(" "*(N-i) + "#"*(i+1))

Print the right number of spaces followed by the right number of the "#" characters.

Solution 5:

One liner using f-string and join:

print("\n".join([f"{'#' * i:>10}"for i inrange(1, 11)]))

Output:

#######################################################

If you would like to include row number you can do following:

print("\n".join([f"{i:<3}{'#' * i:>10}"for i inrange(1, 11)]))

Output:

1           #
2          ##
3         ###
4        ####
5       #####
6      ######
7     #######
8    ########
9   #########
10 ##########

Post a Comment for "Right Justify Python"