Monday, 28 September 2026

✨ Python Turtle The Neon Ferris Wheel

 



Code:

import turtle import math import time screen = turtle.Screen() screen.setup(700, 700) screen.bgcolor("#050510") t = turtle.Turtle() t.hideturtle() t.speed(0) t.width(3) colors = [ "#ff2d75", "#ffe600", "#00e5ff", "#7c4dff", "#00ff9d", "#ff7b00" ] # ๐ŸŽก Main wheel t.penup() t.goto(0, -190) t.color("#00e5ff") t.pendown() t.circle(190) # Inner wheel t.penup() t.goto(0, -160) t.color("#7c4dff") t.pendown() t.circle(160) # Spokes for i in range(12): angle = math.radians(i * 30) x = 160 * math.cos(angle) y = 160 * math.sin(angle) t.penup() t.goto(0, 0) t.pendown() t.goto(x, y) screen.update() time.sleep(0.12) # ๐ŸŽ  Colorful cabins for i in range(12): angle = math.radians(i * 30) x = 190 * math.cos(angle) y = 190 * math.sin(angle) t.penup() t.goto(x, y) t.dot(28, colors[i % len(colors)]) screen.update() time.sleep(0.15) # Center t.penup() t.goto(0, -22) t.dot(44, "#ffe600") t.goto(0, -10) t.dot(18, "white") # ✨ Ground t.color("#00ff9d") t.width(5) t.penup() t.goto(-260, -195) t.pendown() t.goto(260, -195) # Small lights for x in range(-240, 241, 40): t.penup() t.goto(x, -190) t.dot(7, "#ffe600") screen.update() time.sleep(0.05) time.sleep(2) turtle.done()































Explanation:
1. Import Libraries
import turtle
import math
import time
turtle → Creates the drawing.
math → Calculates angles and positions.
time → Adds animation delays.

2. Create the Screen
screen = turtle.Screen()
screen.setup(700, 700)
screen.bgcolor("#050510")
Creates a 700 × 700 canvas.
Sets a dark background.

3. Configure the Turtle
t = turtle.Turtle()
t.hideturtle()
t.speed(0)
t.width(3)
Creates the turtle.
Hides the cursor.
Sets maximum speed.
Sets line thickness to 3.

4. Define Neon Colors
colors = [
    "#ff2d75", "#ffe600",
    "#00e5ff", "#7c4dff",
    "#00ff9d", "#ff7b00"
]
Stores colorful neon shades.
These colors are used for the cabins.

5. Draw the Main Wheel
t.penup()
t.goto(0, -190)
t.color("#00e5ff")
t.pendown()
Moves to the bottom of the wheel.
Sets the cyan color.
Starts drawing.
t.circle(190)
Draws the outer wheel with radius 190.

6. Draw the Inner Wheel
t.penup()
t.goto(0, -160)
t.color("#7c4dff")
t.pendown()

t.circle(160)
Creates a smaller inner circle.
Gives the wheel a layered appearance.

7. Create the Spokes
for i in range(12):
Creates 12 spokes.
angle = math.radians(i * 30)
Calculates an angle for each spoke.
360 ÷ 12 = 30°.

8. Calculate Spoke Position
x = 160 * math.cos(angle)
y = 160 * math.sin(angle)
Calculates the endpoint of each spoke.

9. Draw Each Spoke
t.penup()
t.goto(0, 0)
t.pendown()
t.goto(x, y)
Starts from the center.
Draws a line toward the calculated position.
screen.update()
time.sleep(0.12)
Updates the screen.
Adds animation delay.

10. Add Colorful Cabins
for i in range(12):
Creates 12 cabins around the wheel.
angle = math.radians(i * 30)
Gives each cabin a different position around the circle.

11. Calculate Cabin Positions
x = 190 * math.cos(angle)
y = 190 * math.sin(angle)
Calculates the position on the outer wheel.

12. Draw the Cabins
t.penup()
t.goto(x, y)
t.dot(28, colors[i % len(colors)])
Moves to each cabin position.
Draws a colorful circular cabin.
i % len(colors) cycles through the colors.

13. Animate the Cabins
screen.update()
time.sleep(0.15)
Updates the drawing.
Adds a small delay between cabins.

14. Create the Center Hub
t.penup()
t.goto(0, -22)
t.dot(44, "#ffe600")
Draws a large yellow center.
t.goto(0, -10)
t.dot(18, "white")
Adds a smaller white circle.
Creates a glowing center effect.

15. Draw the Ground
t.color("#00ff9d")
t.width(5)
Sets green color.
Makes the ground line thicker.
t.penup()
t.goto(-260, -195)
t.pendown()
t.goto(260, -195)
Draws a horizontal ground line beneath the wheel.

16. Add Small Ground Lights
for x in range(-240, 241, 40):
Creates lights every 40 pixels.
t.penup()
t.goto(x, -190)
t.dot(7, "#ffe600")
Moves to each position.
Draws a small yellow light.
screen.update()
time.sleep(0.05)
Updates the screen.
Creates a smooth light animation.

17. Final Pause
time.sleep(2)
Keeps the completed Ferris wheel visible for 2 seconds.

18. Finish
turtle.done()
Keeps the Turtle window open.
Ends the program.




๐Ÿ 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

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 (12) 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)