How to print a cross pattern in Python:
In this post, we will learn how to print a cross pattern in Python using star or *. This program will take the height as input from the user and it will print the pattern.
You can also use any other character to print this pattern. I will explain you the steps to write the algorithm for this pattern. You can use the same algorithm with any programming language.
Algorithm to print a cross pattern:
The cross pattern looks as like below:
* *
* *
* *
* *
*
* *
* *
* *
* *
This is a pattern of height 9. To find the algorithm to print this pattern, let’s replace all blank spaces with #:
*#######*
#*#####*#
##*###*##
###*#*###
####*####
###*#*###
##*###*##
#*#####*#
*#######*
It is the same pattern, the only difference is that spaces are replaced by #.
Let’s say the row starts from 1 and ends at 9. Similary, column starts at 1 and ends at 9.
We are printing *,
- i = 1 & j = 1 and i = 1 & j = 9
- i = 2 & j = 2 and i = 2 & j = 8
- i = 3 & j = 3 and i = 3 & j = 7 etc.
If you look closely, we are printin the character or * if:
- i and j are equal
- The value of i + j is equal to height + 1.
So, The program we will write will print * if
- i and j are equal
- i + j is equal to height + 1
Other than that, it will print a blank space.
- Use a for loop to run from 1 to height
- Use another inner for loop to run from 1 to height.
- If the variables used for both loops are equal, print *
- If the sum of the variables is equal to height + 1, print *
- Else, print a blank space.
- At the end of the inner for loop, add a newline.
That’s all. Now, let’s write down the program.
Python program to print a cross pattern:
height = int(input('Enter the height of the cross pattern: '))
for i in range(1, height + 1):
for j in range(1, height + 1):
if i == j or i + j == height + 1:
print('*', end='')
else:
print(' ', end='')
print()
Here,
- We are taking the height of the cross pattern as input from the user. This value is saved in the height variable.
- The outer for loop is running from i = 1 to i = height.
- The inner for loop is running from j = 1 to j = height.
- If i is equal to j or if the value of i + j is equal to height + 1, it prints *. We are using end=” in the print statement to make sure that it will not add any newline at the end of printing.
- Else, it prints a white space.
- Once the inner for loop ends, it adds a new line.
Sample output:
This program will print output as like below:
Enter the height of the cross pattern: 7
* *
* *
* *
*
* *
* *
* *
Enter the height of the cross pattern: 8
* *
* *
* *
**
**
* *
* *
* *
You might also like:
- Python program to read the content of a file to a list
- How to find the exponential value for a number in Python
- Python program to print a box pattern with plus at the center
- How to print the ASCII values all characters in Python
- Python program to read inputs within an interval of time
- Python program to check if a set contains an element or not
- How to subtract two numbers in Python
- Python program to convert a binary to decimal