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

UpComing SoftWare Training Demos

🚀 *Playwright With AI Testing Demo In Telugu*
🗓️ *Date:* 28 Oct2026, 08:00 PM IST
📝 *Register Now!:*
https://www.vlrt.in/3r
👥 *Join WA Community:*
https://www.vlrt.in/3w
💡 *Course Content:*
https://www.vlrt.in/3c
▶️ *Demo Videos:*
https://www.vlrt.in/3v

🚀 *Gen AI Engineer (Production Focused)*
🗓️ *Date:* 29th Oct 2026, 06:00PM IST
📝 *Register Now!:*
https://www.vlrt.in/gr
👥 *Join WA Community:*
https://www.vlrt.in/gw
💡*Course Content:*
https://www.vlrt.in/ai
▶️ *Demo Videos:*
https://www.vlrt.in/gv

🚀 *Vulnerability Management Training Demo*
🗓️ *Date:* 28th Oct 2026, 10:00 AM IST
📝*Register Now!:*
https://www.vlrt.in/vr
👥 *Join Community:*
https://www.vlrt.in/cw
💡 *Course Content:*
https://www.vlrt.in/vc
▶️ *Demo Videos:*
https://www.vlrt.in/Vm

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

  • re.I, re.S, re.X

    Python re Flags: re.I, re.S, re.X Explained Flags modify how regular expressions work. They’re used as optional parameters in re functions like re.search(), re.findall(), etc. 1. re.I or re.IGNORECASE Purpose: Makes the pattern matching case-insensitive Without re.I (Case-sensitive): python import re text = “Hello WORLD hello World” # Case-sensitive search matches = re.findall(r’hello’, text) print(“Case-sensitive:”, matches) # Output: [‘hello’] # Only finds lowercase…

  • Predefined Character Classes

    Predefined Character Classes Pattern Description Equivalent . Matches any character except newline \d Matches any digit [0-9] \D Matches any non-digit [^0-9] \w Matches any word character [a-zA-Z0-9_] \W Matches any non-word character [^a-zA-Z0-9_] \s Matches any whitespace character [ \t\n\r\f\v] \S Matches any non-whitespace character [^ \t\n\r\f\v] 1. Literal Character a Matches: The exact character…

  • Python Primitive Data Types & Functions: Explained with Examples

    1. Primitive Data Types Primitive data types are the most basic building blocks in Python. They represent simple, single values and are immutable (cannot be modified after creation). Key Primitive Data Types Type Description Example int Whole numbers (positive/negative) x = 10 float Decimal numbers y = 3.14 bool Boolean (True/False) is_valid = True str…

  • List of Basic Regular Expression Patterns in Python

    Complete List of Basic Regular Expression Patterns in Python Character Classes Pattern Description Example [abc] Matches any one of the characters a, b, or c [aeiou] matches any vowel [^abc] Matches any character except a, b, or c [^0-9] matches non-digits [a-z] Matches any character in range a to z [a-z] matches lowercase letters [A-Z] Matches any character in range…

  • recursive function

    A recursive function is a function that calls itself to solve a problem. It works by breaking down a larger problem into smaller, identical subproblems until it reaches a base case, which is a condition that stops the recursion and provides a solution to the simplest subproblem. The two main components of a recursive function…

  • Static Methods

    The primary use of a static method in Python classes is to define a function that logically belongs to the class but doesn’t need access to the instance’s data (like self) or the class’s state (like cls). They are essentially regular functions that are grouped within a class namespace. Key Characteristics and Use Cases General…

Leave a Reply

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