Hello everyone! Welcome back to programminginpython.com. I am continuing with this pattern programming series, here I will tell you how to print the pattern of the letter Q. In the previous tutorials, I have shown you the patterns of letters A to P. Here it’s now time for Pattern Q. You can check the complete series on letter patterns here.
Master the basics of data analysis in Python. Expand your skillset by learning scientific computing with numpy.
Take the course on Introduction to Python on DataCamp here https://bit.ly/datacamp-intro-to-python
You can also watch the video on YouTube here
Print Pattern Q – Code Visualization
Task:
Python program to print the pattern of letter Q
Approach:
- Read an input integer for asking the size of the letter using
input()
- Check if the entered number is greater than 8,
- if yes, call the function
print_pattern()
- else, show a message to enter a number that is greater or equal to 8
- if yes, call the function
- print_pattern()
- here we only do two things, print star(
*
) and print space(*
‘s and - following are 2 conditions for printing *’s
We have 2 loops, an outer loop() for rows, and an inner loop for columns.-
# Outer for loop for row in range(n): # Inner for loop for column in range(n):
Print first row
row == 0 and (column != 0 and column != n-1)
Print last row
row == n-2 and (column != 0 and column < n-2)
Print first column
column == 0 and (row != 0 and row < n-2)
Print last column
column == n - 1 and (row != 0 and row != n-2)
Print Q tail
(n // 2 < row < n) and (column > n // 2) and (row == column)
-
- print ‘ ‘ in remaining all cases.
- here we only do two things, print star(
Program:
__author__ = 'Avinash' # Python3 program to print alphabet pattern Q ``` * * * * * * * * * * * * * * * * * * * * * * * * ``` def print_pattern(n): for row in range(n): for column in range(n): if ( # first row (row == 0 and (column != 0 and column != n-1)) or # last row (row == n-2 and (column != 0 and column < n-2)) or # first column (column == 0 and (row != 0 and row < n-2)) or # last column (column == n - 1 and (row != 0 and row != n-2)) or # Q Tail ((n // 2 < row < n) and (column > n // 2) and (row == column)) ): print("*", end=" ") else: print(" ", end=" ") print() size = int(input("Enter a size:\t")) if size < 8: print("Enter a size minumin of 8") else: print_pattern(size)