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 G. In the previous tutorials, I have shown you the patterns of letters A to F. Here it’s now time for Pattern G. 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 G – Code Visualization
Task:
Python program to print the pattern of letter G
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 which 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 5 conditions for printing *’s
We have 2 loops, 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 - 1 and (column != 0 and column != n-1))
print first column
((column == 0 and (row != 0 and row != n-1))
print last column
(column == n-1 and row != n-1 and row >= (n/2)-1))
print middle column
(row == (n/2)-1 and ((n/2)-1 <= column < n-1))
- print
- here we only do two things, print star(
Program:
__author__ = 'Avinash' # Python3 program to print alphabet G pattern # * * * * * # * # * # * * * * # * * # * * # * * # * * * * * def print_pattern(n): # Outer for loop for number of rows for row in range(n): # Inner for loop columns for column in range(n): # prints first row if ((row == 0 and (column != 0 and column != n-1)) or # prints last row (row == n - 1 and (column != 0 and column != n-1)) or # prints first column ((column == 0 and (row != 0 and row != n-1)) or # prints last column (column == n-1 and row != n-1 and row >= (n/2)-1)) or # prints middle column (row == (n/2)-1 and ((n/2)-1 <= column < n-1)) ): print("*", end=" ") else: print(" ", end=" ") print() size = int(input("Enter size: \t")) if size < 8: print("Enter a size greater than 8") else: print_pattern(size)