Patterns in Nested For loop || match Case Statement 17th class

Python Pattern Printing Using Nested For Loops

1. Right Triangle Pattern

python

n = 5
for i in range(1, n+1):
    for j in range(1, i+1):
        print("*", end=" ")
    print()
"""
Output:
* 
* * 
* * * 
* * * * 
* * * * * 
"""

2. Inverted Right Triangle

python

n = 5
for i in range(n, 0, -1):
    for j in range(1, i+1):
        print("*", end=" ")
    print()
"""
Output:
* * * * * 
* * * * 
* * * 
* * 
* 
"""

3. Pyramid Pattern

python

n = 5
for i in range(1, n+1):
    # Print spaces
    for j in range(n - i):
        print(" ", end=" ")
    # Print stars
    for k in range(2 * i - 1):
        print("*", end=" ")
    print()
"""
Output:
        * 
      * * * 
    * * * * * 
  * * * * * * * 
* * * * * * * * * 
"""

4. Number Pattern

python

n = 5
for i in range(1, n+1):
    for j in range(1, i+1):
        print(j, end=" ")
    print()
"""
Output:
1 
1 2 
1 2 3 
1 2 3 4 
1 2 3 4 5 
"""

5. Alphabet Pattern

python

n = 5
for i in range(65, 65+n):
    for j in range(65, i+1):
        print(chr(j), end=" ")
    print()
"""
Output:
A 
A B 
A B C 
A B C D 
A B C D E 
"""

6. Diamond Pattern

python

n = 5
# Upper half
for i in range(1, n+1):
print(" "*(n-i) + "* " * i)
# Lower half
for i in range(n-1, 0, -1):
print(" "*(n-i) + "* " * i)
"""
Output:
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
"""

More Python Pattern Examples Using Nested For Loops

1. Hollow Square Pattern

python

n = 5
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:
* * * * * 
*       * 
*       * 
*       * 
* * * * * 
"""

2. Right Arrow Pattern

python

n = 5
# Upper half
for i in range(n):
    print("  " * i + "* " * (n - i))
# Lower half
for i in range(2, n+1):
    print("  " * (n - i) + "* " * i)
"""
Output:
* * * * * 
  * * * * 
    * * * 
      * * 
        * 
      * * 
    * * * 
  * * * * 
* * * * * 
"""

3. Pascal’s Triangle

python

n = 5
for i in range(1, n+1):
    num = 1
    for j in range(1, i+1):
        print(num, end=" ")
        num = num * (i - j) // j
    print()
"""
Output:
1 
1 1 
1 2 1 
1 3 3 1 
1 4 6 4 1 
"""

4. Floyd’s Triangle

python

n = 5
num = 1
for i in range(1, n+1):
    for j in range(1, i+1):
        print(num, end=" ")
        num += 1
    print()
"""
Output:
1 
2 3 
4 5 6 
7 8 9 10 
11 12 13 14 15 
"""

5. Binary Number Pattern

python

n = 5
for i in range(1, n+1):
    for j in range(1, i+1):
        print((i + j) % 2, end=" ")
    print()
"""
Output:
0 
1 0 
0 1 0 
1 0 1 0 
0 1 0 1 0 
"""

6. Cross Pattern

python

n = 5
for i in range(n):
    for j in range(n):
        if i == j or i + j == n - 1:
            print("*", end=" ")
        else:
            print(" ", end=" ")
    print()
"""
Output:
*       * 
  *   *   
    *     
  *   *   
*       * 
"""

7. Heart Pattern

python

n = 6
for i in range(n//2, n, 2):
    for j in range(1, n-i, 2):
        print(" ", end=" ")
    for j in range(1, i+1):
        print("*", end=" ")
    for j in range(1, n-i+1):
        print(" ", end=" ")
    for j in range(1, i+1):
        print("*", end=" ")
    print()

for i in range(n, 0, -1):
    print("  " * (n - i) + "* " * (2 * i - 1))
"""
Output:
  * * *     * * *   
* * * * * * * * * * 
  * * * * * * * * * 
    * * * * * * * 
      * * * * * 
        * * * 
          * 
"""

8. Hollow Diamond

python

n = 5
# Upper half
for i in range(1, n+1):
for j in range(n - i):
print(" ", end=" ")
for k in range(2 * i - 1):
if k == 0 or k == 2 * i - 2:
print("*", end=" ")
else:
print(" ", end=" ")
print()
# Lower half
for i in range(n-1, 0, -1):
for j in range(n - i):
print(" ", end=" ")
for k in range(2 * i - 1):
if k == 0 or k == 2 * i - 2:
print("*", end=" ")
else:
print(" ", end=" ")
print()
"""
Output:
*
* *
* *
* *
* *
* *
* *
* *
*
"""

Python match Case Statement with Number-to-Month Example

The match statement (introduced in Python 3.10) is a powerful feature that provides pattern matching capabilities similar to switch-case statements in other languages, but more flexible.

Basic Syntax of match Case

python

match subject:
    case pattern1:
        # action1
    case pattern2:
        # action2
    case _:
        # default action

Number to Month Name Program

Here’s a complete example that converts a month number (1-12) to its corresponding month name using match case:

python

def number_to_month(month_num):
    match month_num:
        case 1:
            return "January"
        case 2:
            return "February"
        case 3:
            return "March"
        case 4:
            return "April"
        case 5:
            return "May"
        case 6:
            return "June"
        case 7:
            return "July"
        case 8:
            return "August"
        case 9:
            return "September"
        case 10:
            return "October"
        case 11:
            return "November"
        case 12:
            return "December"
        case _:  # Default case (like 'else')
            return "Invalid month number"

# Test the function
print(number_to_month(3))   # Output: March
print(number_to_month(8))   # Output: August
print(number_to_month(13))  # Output: Invalid month number

Key Features of match Case:

  1. Direct Value Matching: Compares the subject directly with values (like in this month example)
  2. Wildcard Pattern_ acts as a catch-all/default case
  3. No Fall-through: Unlike C-style switch statements, Python doesn’t fall through to the next case
  4. No Break Needed: Each case automatically breaks after execution

Advanced Example with Patterns

You can also use more complex patterns:

python

def describe_number(num):
    match num:
        case 0:
            return "Zero"
        case 1 | 2 | 3:  # Multiple values in one case
            return "Small number"
        case n if 4 <= n <= 9:  # With guard condition
            return "Medium number"
        case n if n >= 10:
            return "Large number"
        case _:
            return "Negative number"

print(describe_number(2))   # Output: Small number
print(describe_number(5))   # Output: Medium number
print(describe_number(15))  # Output: Large number

When to Use match Case:

  • When you have multiple conditions to check against a single value
  • When the conditions are based on value equality (like our month example)
  • When you want cleaner code than multiple if-elif-else statements

Note: The match statement requires Python 3.10 or later. For earlier versions, you would need to use if-elif-else chains or dictionary lookups for similar functionality.

Similar Posts

  • Demo And course Content

    What is Python? Python is a high-level, interpreted, and general-purpose programming language known for its simplicity and readability. It supports multiple programming paradigms, including: Python’s design philosophy emphasizes code readability (using indentation instead of braces) and developer productivity. History of Python Fun Fact: Python is named after Monty Python’s Flying Circus (a British comedy show), not the snake! 🐍🎭 Top Career Paths After Learning Core Python 🐍…

  • Password Strength Checker

    python Enhanced Password Strength Checker python import re def is_strong(password): “”” Check if a password is strong based on multiple criteria. Returns (is_valid, message) tuple. “”” # Define criteria and error messages criteria = [ { ‘check’: len(password) >= 8, ‘message’: “at least 8 characters” }, { ‘check’: bool(re.search(r'[A-Z]’, password)), ‘message’: “one uppercase letter (A-Z)”…

  • Nested for loops, break, continue, and pass in for loops

    break, continue, and pass in for loops with simple examples. These statements allow you to control the flow of execution within a loop. 1. break Statement The break statement is used to terminate the loop entirely. When break is encountered, the loop immediately stops, and execution continues with the statement immediately following the loop. Example:…

  • Lambda Functions in Python

    Lambda Functions in Python Lambda functions are small, anonymous functions defined using the lambda keyword. They can take any number of arguments but can only have one expression. Basic Syntax python lambda arguments: expression Simple Examples 1. Basic Lambda Function python # Regular function def add(x, y): return x + y # Equivalent lambda function add_lambda =…

  • Data hiding

    Data hiding in Python OOP is the concept of restricting access to the internal data of an object from outside the class. 🔐 It’s a way to prevent direct modification of data and protect the object’s integrity. This is typically achieved by using a naming convention that makes attributes “private” or “protected.” 🔒 How Data…

Leave a Reply

Your email address will not be published. Required fields are marked *