π Python Pattern Challenge — Day 6
Pattern printing is a great way to strengthen your Python logic, loops, conditions, and problem-solving skills. Today’s challenge is a fun one — we’ll create a Butterfly Pattern by controlling stars on both sides and the spaces between them.
Today's Challenge
Write a Python program to print:
Solution 1 — Using for Loops
n = 5 for i in range(1, n + 1): print("*" * i + " " * (2 * (n - i) + 1) + "*" * i) for i in range(n - 1, 0, -1): print("*" * i + " " * (2 * (n - i) + 1) + "*" * i)
How it works:
- "*" * i → creates stars on the left and right.
- " " * (2 * (n - i) + 1) → creates the gap between the two sides.
- The first loop makes the butterfly grow.
- The second loop makes it shrink.
- The star count follows:
Solution 2 — Using Nested Loops
n = 5 for i in range(1, n + 1): for j in range(i): print("*", end="") for j in range(2 * (n - i) + 1): print(" ", end="") for j in range(i): print("*", end="") print() for i in range(n - 1, 0, -1): for j in range(i): print("*", end="") for j in range(2 * (n - i) + 1): print(" ", end="") for j in range(i): print("*", end="") print()
How it works:
The pattern is divided into three parts:
- First loop → prints the left wing.
- Second loop → creates the middle gap.
- Third loop → prints the right wing.
The outer loops control the increasing and decreasing rows.
This approach is useful for beginners because it clearly demonstrates how nested loops control different sections of a pattern.
Solution 3 — Using a Single Loop
How it works:
Instead of writing two separate loops, we create one sequence:
1, 2, 3, 4, 5, 4, 3, 2, 1Each value of i controls:
- Stars on the left
- Spaces in the middle
- Stars on the right
This makes the solution shorter and more reusable.
Short & Clean Code
for i in range(1, 6): print("*"*i + " "*(11-2*i) + "*"*i) for i in range(4, 0, -1): print("*"*i + " "*(11-2*i) + "*"*i)
Just two loops are enough to create the complete butterfly pattern.
Challenge Yourself
Can you modify this pattern:
- Replace * with numbers?
- Create a hollow butterfly?
- Use a while loop?
- Take the value of n using user input?
- Create the entire pattern using only one loop?
- Write the shortest possible Python code?
Drop your solution below! π
Learn • Practice • Grow with CLCODING ππ»

0 Comments:
Post a Comment