Hollow-box star pattern in python

Question:

In this problem, what is the role of print() at the last? and why its affecting the code output if not included?

n = int(input("Enter the number: "))
for i in range(n):
    for j in range(n):
        if(i==0 or i==n-1 or j==0 or j==n-1):
            print("*", end=' ')
        else:
            print(" ", end=' ')
    print()

Output: For a number (Say ‘3’)

without print()

* * * *   * * * *

with print()

* * * 
*   * 
* * *
Asked By: Suyash Srivastava

||

Answers:

When you are printing asterisks or spaces with:

print("*", end=' ')

and

print("", end=' ')

those print statements are not advancing a line due to the "end=’ ‘" bit. That is why you get either an asterisk or space printing one after another. The line of code:

print()

isn’t actually printing anything, but it is sending a carriage return and line feed to advance to the next line. So if you have a print statement that does not include the "end=’ ‘" directive, your terminal output will advance to the next line.

Answered By: NoDakker
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.