Thursday, 17 September 2026

🐍 Python Pattern Challenge — Day 6

 




🐍 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:








Best and cleanest code will be rewarded! πŸ†

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:
1 → 2 → 3 → 4 → 5 
5 → 4 → 3 → 2 → 1

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

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




How it works:

Instead of writing two separate loops, we create one sequence:

1, 2, 3, 4, 5, 4, 3, 2, 1

Each 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

Popular Posts

Categories

100 Python Programs for Beginner (119) AI (345) Android (25) AngularJS (1) Api (7) Assembly Language (2) aws (31) Azure (12) BI (10) book (1) Books (359) Bootcamp (14) C (78) C# (12) C++ (83) cloud (1) Course (93) Coursera (305) Cybersecurity (36) data (10) Data Analysis (46) Data Analytics (31) data management (16) Data Science (432) Data Strucures (18) Deep Learning (220) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (9) Excel (24) Finance (13) flask (4) flutter (1) FPL (17) Generative AI (77) Git (13) Google (55) Hadoop (3) HTML Quiz (1) HTML&CSS (48) IBM (43) IoT (3) IS (25) Java (99) Leet Code (4) Machine Learning (403) Meta (24) MICHIGAN (5) microsoft (13) Nvidia (8) Pandas (16) PHP (20) Projects (35) Python (1374) Python Coding Challenge (1239) Python Library (1) Python Mathematics (17) Python Mistakes (51) Python Pattern Challenge (5) Python Quiz (633) Python Tips (112) Questions (3) R (72) React (7) Scripting (3) security (4) Selenium Webdriver (4) Software (21) SQL (55) Udemy (22) UX Research (1) web application (11) Web development (9) web scraping (3)

Followers

Python Coding for Kids ( Free Demo for Everyone)