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

  • Formatted printing

    C-Style String Formatting in Python Python supports C-style string formatting using the % operator, which provides similar functionality to C’s printf() function. This method is sometimes called “old-style” string formatting but remains useful in many scenarios. Basic Syntax python “format string” % (values) Control Characters (Format Specifiers) Format Specifier Description Example Output %s String “%s” % “hello” hello %d…

  • 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…

  • re.fullmatch() Method

    Python re.fullmatch() Method Explained The re.fullmatch() method checks if the entire string matches the regular expression pattern. It returns a match object if the whole string matches, or None if it doesn’t. Syntax python re.fullmatch(pattern, string, flags=0) import re # Target string string = “The Euro STOXX 600 index, which tracks all stock markets across Europe including the FTSE, fell by…

  • Date/Time Objects

    Creating and Manipulating Date/Time Objects in Python 1. Creating Date and Time Objects Creating Date Objects python from datetime import date, time, datetime # Create date objects date1 = date(2023, 12, 25) # Christmas 2023 date2 = date(2024, 1, 1) # New Year 2024 date3 = date(2023, 6, 15) # Random date print(“Date Objects:”) print(f”Christmas:…

  • non-capturing group, Named Groups,groupdict()

    To create a non-capturing group in Python’s re module, you use the syntax (?:…). This groups a part of a regular expression together without creating a backreference for that group. A capturing group (…) saves the matched text. You can then access this captured text using methods like group(1), group(2), etc. A non-capturing group (?:…)…

  • Python Modules: Creation and Usage Guide

    Python Modules: Creation and Usage Guide What are Modules in Python? Modules are simply Python files (with a .py extension) that contain Python code, including: They help you organize your code into logical units and promote code reusability. Creating a Module 1. Basic Module Creation Create a file named mymodule.py: python # mymodule.py def greet(name): return f”Hello, {name}!”…

Leave a Reply

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