Monday, 28 September 2026

🐍 Python Pattern Challenge — Day 15

 


🐍 Python Pattern Challenge — Day 15

Pattern printing is a simple but powerful way to improve your Python loops, spacing, repetition, and logical thinking. For Day 15, let's create a simple Number 1 Diamond Pattern.

The pattern uses only the number 1, but the number of 1s increases toward the center and then decreases, creating a symmetric diamond.

Today's Challenge

Write a Python program to print:

 

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


Solution 1 — Using Nested for Loops

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








How it works

The first loop creates the increasing half:

         1
1 1 1 1 1 1 1 1 1 1 1 1 1 1




The second loop creates the decreasing half:

    1   1   1  1
1 1 1 1 1 1




This creates the complete symmetric diamond.


Solution 2 — Using String Multiplication

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






How it works

This line:

" " * (n - i)

controls the indentation.

And:

"1 " * i

prints the required number of 1s.

For example, when i = 3:

1 1 1

is generated automatically.


Solution 3 — Using a Single Loop

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





How it works

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

[1, 2, 3, 4, 5, 4, 3, 2, 1]

Each value determines how many 1s should appear on that row.

This makes the code short and easy to understand.


Solution 4 — Using a Function

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







Now you can easily change the size:

number_one_diamond(7)

and generate a larger pattern.


⚡ Short & Clean Code

for i in [1, 2, 3, 4, 5, 4, 3, 2, 1]: print(" " * (5-i) + "1 " * i)




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


πŸš€ Challenge Yourself

Can you modify this pattern:

  • Take n from the user using input()?
  • Replace 1 with *?
  • Replace 1 with letters?
  • Create the same pattern using a while loop?
  • Create a hollow version of the diamond?
  • Generate the increasing/decreasing sequence without manually writing it?

Drop your solution below! πŸ‘‡

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

Learn • Practice • Grow with CLCODING


Book: Data Structures and Algorithm Design using Python

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (119) AI (346) 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 (434) Data Strucures (19) Deep Learning (222) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (9) Excel (24) Finance (13) flask (4) flutter (1) FPL (17) Generative AI (78) 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 (407) Meta (24) MICHIGAN (5) microsoft (13) Nvidia (8) Pandas (16) PHP (20) Projects (35) Python (1377) Python Coding Challenge (1257) Python Library (11) Python Mathematics (19) Python Mistakes (51) Python Pattern Challenge (14) Python Quiz (644) 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)