Saturday, 26 September 2026

๐Ÿ Python Pattern Challenge — Day 14

 



๐Ÿ Python Pattern Challenge — Day 14

Pattern printing is a great way to strengthen your Python logic, nested loops, conditions, spacing, and problem-solving skills. For Day 14, let's create a Number Pyramid Diamond where every row increases toward the center and then decreases symmetrically.

This pattern is interesting because each row contains numbers that increase toward the center and then decrease, creating a mirror-like structure.

Today's Challenge

Write a Python program to print:

           1
         1 2 1
1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 2 1 1 2 1 1




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


Solution 1 — Using Nested for Loops

n = 4 for i in range(1, n + 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() for i in 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

The first part creates the increasing half:

           1
1 2 1 1 2 3 2 1 1 2 3 4 3 2 1




The second part reverses the rows:

      1 2 3 2 1
     1 2 1      1




For each row, we use two loops:

for j in range(1, i + 1):

This prints the numbers in increasing order.

Then:

for j in range(i - 1, 0, -1):

prints them in decreasing order.


Solution 2 — Using a Single Main Loop

n = 4 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

Instead of writing two separate outer loops, we create the sequence:

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

Each value determines the size of that row.

For example, when:

i = 4

the inner loops produce:

1 2 3 4 3 2 1

This keeps the solution compact while still using clear logic.


Solution 3 — Using a Function

def number_diamond(n): 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() number_diamond(4)








How it works

Putting the pattern inside a function makes it reusable.

Try:

number_diamond(5)

and you'll get a larger pattern.

This is a good way to combine functions + loops + pattern logic in Python.


⚡ Short & Clean Code

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





๐Ÿ”ฅ A single outer loop generates the complete number diamond.


๐Ÿš€ Challenge Yourself

Can you modify this pattern:

  • Take n using input()?
  • Create the same pattern using a while loop?
  • Replace numbers with letters?
  • Create a hollow number diamond?
  • Make the pattern work for any size?
  • Print the numbers in reverse order?
  • Create the same pattern using only one loop?

Drop your solution below! ๐Ÿ‘‡

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

Learn • Practice • Grow with CLCODING ๐Ÿš€


100 Python One-Liners You Must Try

Python Coding Challenge - Question with Answer (ID 260926)

 

'clcoding.com 120326 (2).png' failed to upload.


Explanation:

๐ŸŸข 1. Assigning "10" to x
x = "10"

Here, "10" is a string, not an integer.

x → "10"
type(x) → str

๐ŸŸก 2. x * 2
x * 2

Because x is a string, * 2 repeats the string.

"10" * 2
   ↓
"1010"

⚠️ It does not perform 10 × 2.

๐Ÿ”ต 3. int(x)
int(x)

The string "10" is converted into the integer 10.

"10" → 10

๐ŸŸ  4. Integer Division // 2
int(x) // 2

Becomes:

10 // 2

So:

5

๐ŸŸฃ 5. str(...)

Now:

str(int(x) // 2)

converts the integer 5 back into a string:

5 → "5"

๐Ÿ”ด 6. Final +

The expression is now:

"1010" + "5"

Both are strings, so + performs string concatenation:

"1010" + "5"
       ↓
"10105"

⚡ Complete Flow
x = "10"
   ↓
x * 2
   ↓
"1010"

int("10") // 2
   ↓
10 // 2
   ↓
5
   ↓
str(5)
   ↓
"5"

"1010" + "5"
   ↓
"10105"

✅ Final Output
10105

Book: Python for Cybersecurity


Friday, 25 September 2026

๐ŸŒณ✨ Python Turtle: The Neon Fractal Tree

 




Code:

import turtle import random import time screen = turtle.Screen() screen.setup(700, 700) screen.bgcolor("#02030a") t = turtle.Turtle() t.hideturtle() t.speed(0) t.width(2) colors = [ "#00ff9d", "#00e5ff", "#2979ff", "#9b30ff", "#ff2d75" ] def tree(length, angle, depth): if depth == 0: t.dot(7, random.choice(colors)) return t.forward(length) screen.update() time.sleep(0.015) pos = t.position() heading = t.heading() # Left branch t.left(angle) tree(length * 0.72, angle, depth - 1) t.penup() t.goto(pos) t.setheading(heading) t.pendown() # Right branch t.right(angle * 2) tree(length * 0.72, angle, depth - 1) t.penup() t.goto(pos) t.setheading(heading) t.pendown() t.penup() t.goto(0, -300) t.setheading(90) t.pendown() t.color("#00e5ff") tree(110, 28, 8) turtle.done()























Explanation:

1. Import Libraries

import turtle

import random

import time

turtle → Drawing.

random → Random colors.

time → Animation delay.


2. Create the Screen

screen = turtle.Screen()

screen.setup(700, 700)

screen.bgcolor("#02030a")

Creates a 700 × 700 dark canvas.


3. Configure the Turtle

t = turtle.Turtle()

t.hideturtle()

t.speed(0)

t.width(2)

Creates the turtle.

Hides the cursor.

Uses maximum speed.

Sets line thickness.


4. Define Neon Colors

colors = [...]

Stores colors for the glowing tree tips.


5. Create the Recursive Tree Function

def tree(length, angle, depth):

Defines the fractal tree.

length → Branch size.

angle → Branch angle.

depth → Recursion level.


6. Set the Base Case

if depth == 0:

    t.dot(7, random.choice(colors))

    return

Stops recursion when depth reaches 0.

Adds a random-colored glowing dot.


7. Draw the Main Branch

t.forward(length)

Draws the current branch.


8. Save Turtle Position

pos = t.position()

heading = t.heading()

Saves the current position and direction.

Allows the turtle to return after each branch.


9. Create the Left Branch

t.left(angle)

tree(length * 0.72, angle, depth - 1)

Turns left.

Recursively creates a smaller branch.


10. Return to the Branch Point

t.penup()

t.goto(pos)

t.setheading(heading)

t.pendown()

Returns to the saved position.

Restores the original direction.


11. Create the Right Branch

t.right(angle * 2)

tree(length * 0.72, angle, depth - 1)

Turns right.

Creates another smaller branch recursively.


12. Set the Starting Position

t.goto(0, -300)

t.setheading(90)

Places the turtle at the bottom center.

Points it upward.


13. Draw the Tree

tree(110, 28, 8)

Starts the recursive tree.

8 gives multiple branching levels.


14. Finish

turtle.done()

Keeps the Turtle window open.





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 (1256) Python Library (10) Python Mathematics (19) Python Mistakes (51) Python Pattern Challenge (13) Python Quiz (643) 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)