Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Python by (16.4k points)
closed by

How would I print it in the middle? Is there a fast method to do this? 

I don't need the content to be in the focal point of my screen. I need it to be in the focal point of that 24 spaces. In the event that I need to do it physically, what is the math behind adding a similar no. of spaces when the content?

print('%24s' % "MyString")     # prints right aligned

print('%-24s' % "MyString")    # prints left aligned

closed

4 Answers

0 votes
by (25.7k points)
 
Best answer
If you want to print a string in the middle of a fixed width, you can calculate the number of spaces to add before and after the string to achieve center alignment. Here's an example:

def print_centered(string, width):

    spaces = width - len(string)

    left_spaces = spaces // 2

    right_spaces = spaces - left_spaces

    print(" " * left_spaces + string + " " * right_spaces)

# Example usage

text = "MyString"

width = 24

print_centered(text, width)

In the print_centered function, we calculate the total number of spaces required by subtracting the length of the string from the desired width. We then divide the spaces equally on both sides by using integer division (//) to obtain the number of left spaces and the number of right spaces. Finally, we concatenate the left spaces, the string, and the right spaces with the appropriate number of spaces to achieve centered alignment when printing.
0 votes
by (26.4k points)

Utilize the new-style design strategy rather than the old-style % operator, which doesn't have the focusing(centering) functionality:

print('{:^24s}'.format("MyString"))

Wanna become a Python expert? Come and join the python certification course and get certified.

0 votes
by (15.4k points)
If you prefer to use formatting syntax, you can achieve center alignment using the str.format method or formatted string literals (f-strings). Here's an example:

text = "MyString"

width = 24

print("{:^{width}}".format(text, width=width))  # Using str.format

# or

print(f"{text:^{width}}")  # Using f-strings

Both "{:^{width}}" and f"{text:^{width}}" are format specifiers that achieve center alignment. The ^ symbol inside the curly braces denotes center alignment, and the {width} part specifies the desired width.
0 votes
by (19k points)
to quickly print a string in the middle of a fixed width, you can use the center alignment feature in Python. Here's the code:

text = "MyString"

width = 24

print(f"{text:^{width}}")

In this concise example, the f"{text:^{width}}" formatted string achieves center alignment. The ^ symbol inside the curly braces represents center alignment, and the {width} specifies the desired width of the output.

Browse Categories

...