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()
–
* * *
* *
* * *
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.
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()
–
* * *
* *
* * *
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.