Tuesday, 22 September 2026

🐍 Python Pattern Challenge — Day 11

 





🐍 Python Pattern Challenge — Day 11

Pattern printing is a great way to strengthen your Python logic, loops, string handling, and problem-solving skills. For Day 11, let's try a different diamond-style pattern where the number of stars increases toward the center and then decreases again.

The twist is that the middle row contains 11 stars, making the pattern slightly different from a regular diamond.

Today's Challenge

Write a Python program to print:

 

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


Solution 1 — Using a for Loop

rows = [1, 3, 5, 7, 11, 7, 5, 3, 1] for stars in rows: spaces = (11 - stars) // 2 print(" " * spaces + "* " * stars)




How it works:

The pattern is controlled by this list:

[1, 3, 5, 7, 11, 7, 5, 3, 1]

The number of stars follows:

1 → 3 → 5 → 7 → 11 
11 → 7 → 5 → 3 → 1

And:

spaces = (11 - stars) // 2

calculates the indentation needed to keep every row centered.


Solution 2 — Using Nested Loops

rows = [1, 3, 5, 7, 11, 7, 5, 3, 1] for stars in rows: spaces = (11 - stars) // 2 for _ in range(spaces): print(" ", end="") for _ in range(stars): print("*", end=" ") print()







How it works:

The nested loops separately control:

  • First loop → creates the leading spaces.
  • Second loop → prints the required number of *.
  • Outer loop → moves through each row of the pattern.

This is useful for understanding how loops can control both spacing and repetition.


Solution 3 — Using a while Loop

rows = [1, 3, 5, 7, 11, 7, 5, 3, 1] i = 0 while i < len(rows): stars = rows[i] spaces = (11 - stars) // 2 print(" " * spaces + "* " * stars) i += 1






Here, the same pattern is created using a while loop.

The list stores the number of stars required for every row.


⚡ Short & Clean Code

for s in [1, 3, 5, 7, 11, 7, 5, 3, 1]: 
    print(" " * ((11 - s) // 2) + "* " * s)

πŸ”₯ Just one loop is enough to generate the complete pattern.


πŸš€ Challenge Yourself

Can you modify this pattern:

  • Generate the star counts without manually writing the list?
  • Take the maximum number of stars using input()?
  • Replace * with numbers?
  • Create the same pattern using a while loop?
  • Create a hollow version of this pattern?
  • Solve it using the shortest possible Python code?

Drop your solution below! πŸ‘‡

11 Days. 11 Patterns. Stronger Python Logic. 🐍πŸ”₯

Learn • Practice • Grow with CLCODING


100 Python Programs for Beginner with explanation

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 (47) Data Analytics (31) data management (16) Data Science (433) 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 (404) Meta (24) MICHIGAN (5) microsoft (13) Nvidia (8) Pandas (16) PHP (20) Projects (35) Python (1377) Python Coding Challenge (1247) Python Library (6) Python Mathematics (17) Python Mistakes (51) Python Pattern Challenge (10) Python Quiz (638) 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)