Monday, 19 October 2026

๐Ÿ Python Pattern Challenge — Day 30

 


๐Ÿ Python Pattern Challenge — Day 30 | Number Mirror Pyramid

Welcome to Day 30 of the Python Pattern Challenge! ๐ŸŽ‰

We've completed 29 days of pattern-printing practice, and today we're creating a beautiful Number Mirror Pyramid. This pattern increases from 1 to 5 and then decreases back to 1, forming a symmetrical diamond.

It's a great exercise for improving your Python logic, nested loops, number sequences, and pattern-building skills.

๐ŸŽฏ Today's Challenge

Write a Python program to print exactly this pattern:


Can you solve this challenge using the cleanest Python code? ๐Ÿ†

๐Ÿ’ป Solution 1 — Using Nested for Loops

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






๐Ÿง  How It Works

1. Controlling the rows

for i in list(range(1, n + 1)) + list(range(n - 1, 0, -1)):

This creates the row sequence 1, 2, 3, 4, 5, 4, 3, 2, 1. The first half expands the pattern, while the second half shrinks it.

2. Adding spaces

print(" " * (n - i), end="")

This adds leading spaces to center each row and create the diamond shape.

3. Printing increasing numbers

for j in range(1, i + 1): 
    print(j, end=" ")

This prints numbers from 1 up to the current row number.

For example, when i = 4, it prints:

1 2 3 4

4. Printing decreasing numbers

for j in range(i - 1, 0, -1): 
    print(j, end=" ")


This prints the numbers in reverse order without repeating the largest number.

The result is:

1 2 3 4 3 2 1

⚡ Solution 2 — Using Lists

n = 5 for i in range(1, n + 1): row = list(range(1, i + 1)) row += list(range(i - 1, 0, -1)) print(" " * (n - i) + " ".join(map(str, row))) for i in range(n - 1, 0, -1): row = list(range(1, i + 1)) row += list(range(i - 1, 0, -1)) print(" " * (n - i) + " ".join(map(str, row)))







This version builds each row as a list and joins its numbers into a string before printing.

๐Ÿš€ Challenge Yourself

Can you modify today's pattern?

  • Increase the maximum number from 5 to 7.

  • Create the same pattern using a while loop.

  • Replace numbers with alphabets.

  • Print the pattern upside down.

  • Create a similar diamond using * symbols.

  • Take the maximum number from the user using input().

Share your solution in the comments! ๐Ÿ‘‡

30 Days. 30 Patterns. Stronger Python Logic. ๐Ÿ๐Ÿ”ฅ

Learn • Practice • Grow with CLCODING ๐Ÿ’ป

0 Comments:

Post a Comment

Popular Posts

Categories

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

Followers

Python Coding for Kids ( Free Demo for Everyone)