Front-end Tutorials

Front-end Tutorials

HTMLCSSSassJavaScriptReactJS
CMS Tutorials

CMS Tutorials

WordPress
Tutorials expand

Python Basic

Python Number Pattern Programs

Python Number Pattern 62

Posted in Python Tutorial
Updated on Jan 10, 2024
By Mari Selvan
👁️ 318 - Views
⏳ 4 mins
💬 1 Comment
Python Number Pattern 62

Photo Credit to CodeToFun

Python Number Pattern 62

Here`s a program that prints the above number pattern using Python Programming:

example.py
Copied
Copy To Clipboard
low = 0
high = 9
n = 1
arr = [[None]*10 for _ in range(10)]

for i in range(0, 5):
    for j in range(low, high+1):
        arr[i][j] = n
        n += 1
    for j in range(low+1, high+1):
        arr[j][high] = n
        n += 1
    for j in range(high-1, low-1, -1):
        arr[high][j] = n
        n += 1
    for j in range(high-1, low, -1):
        arr[j][low] = n
        n += 1
    low += 1
    high -= 1

print("Perfect Square Spiral\n")
for i in range(0, 10):
    for j in range(0, 10):
        print("%3d" % (arr[i][j]), end=" ")
    print()

💻 Testing the Program

When you run the above program, it will print the following output:

Output
1    2    3    4    5    6    7    8    9   10
36  37   38   39   40   41   42   43   44   11
35  64   65   66   67   68   69   70   45   12
34  63   84   85   86   87   88   71   46   13
33  62   83   96   97   98   89   72   47   14
32  61   82   95  100   99   90   73   48   15
31  60   81   94   93   92   91   74   49   16 
30  59   80   79   78   77   76   75   50   17
29  58   57   56   55   54   53   52   51   18
28  27   26   25   24   23   22   21   20   19

🧠 How the Program Works

Let's break down the logic behind the code:

  1. Initialize variables:
    • low = 0: This variable represents the starting index of the row and column for the current layer of the spiral.
    • high = 9: This variable represents the ending index of the row and column for the current layer of the spiral.
    • n = 1: This variable is used to assign values to the cells in the spiral pattern.
    • arr = [[None]*10 for _ in range(10)]: This creates a 10x10 grid (list of lists) initialized with None.
  2. Nested loops for creating the spiral:
    • The program uses a series of nested loops to fill in values in the grid in a spiral pattern.
    • The outer loop (for i in range(0, 5)) runs five times, corresponding to five layers of the spiral pattern.
    • For each layer, the program fills in values along the top row, right column, bottom row, and left column, incrementing the value of n each time.
  3. Filling values along the top row:
    • for j in range(low, high+1): This loop fills values in the current layer's top row from left to right.
    • arr[i][j] = n: Assigns the value of n to the cell at position (i, j) in the grid.
    • Increment n.
  4. Filling values along the right column:
    • for j in range(low+1, high+1): This loop fills values in the current layer's right column from top to bottom (excluding the top element).
    • arr[j][high] = n: Assigns the value of n to the cell at position (j, high) in the grid.
    • Increment n.
  5. Filling values along the bottom row:
    • for j in range(high-1, low-1, -1): This loop fills values in the current layer's bottom row from right to left (excluding the rightmost element).
    • arr[high][j] = n: Assigns the value of n to the cell at position (high, j) in the grid.
    • Increment n.
  6. Filling values along the left column:
    • for j in range(high-1, low, -1): This loop fills values in the current layer's left column from bottom to top (excluding the bottom element).
    • arr[j][low] = n: Assigns the value of n to the cell at position (j, low) in the grid.
    • Increment n.
  7. Update low and high:
    • low += 1: Increment the starting index of the next layer.
    • high -= 1: Decrement the ending index of the next layer.
  8. Print the spiral pattern:
    • After filling in all the values, the program prints the generated spiral pattern by iterating through the arr grid.
    • The nested loops iterate through each row and column, printing the values with a width of 3 characters ("%3d" % (arr[i][j])).
  9. Output:
    • The program prints the perfect square spiral pattern of numbers in a 10x10 grid.

💯 Tips for Enhancement:

Explore the versatility of this pattern by adjusting its parameters. Whether you increase or decrease the size, tweak the spacing, or modify the characters used, each change opens up a world of possibilities, allowing you to customize and create your unique visual effects.

✔ Conclusion:

Creating visually appealing patterns is not only a fun endeavour but also a great way to enhance your programming or design skills. We hope this tutorial has inspired you to explore the world of creative coding. Share your creations with us, and let your imagination run wild!

🤗 Closing Call-to-Action:

We'd love to see your unique interpretations of the number pattern. Share your creations in the comments below, and don't hesitate to reach out if you have any questions or suggestions for future tutorials. Happy coding!

👨‍💻 Join our Community:

To get interesting news and instant updates on Front-End, Back-End, CMS and other Frameworks. Please Join the Telegram Channel:

Author

author
👋 Hey, I'm Mari Selvan

For over eight years, I worked as a full-stack web developer. Now, I have chosen my profession as a full-time blogger at codetofun.com.

Buy me a coffee to make codetofun.com free for everyone.

Buy me a Coffee

Share Your Findings to All

Subscribe
Notify of
guest
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Mari Selvan
Mari Selvan
7 months ago

If you have any doubts regarding this article (Python Number Pattern 62), please comment here. I will help you immediately.

We make use of cookies to improve our user experience. By using this website, you agree with our Cookies Policy
AgreeCookie Policy