Full Python Code:

import tkinter as tk

import time

class TrafficLight:

    def __init__(self, root):

        self.root = root

        self.root.title(“Traffic Light”)

        self.canvas = tk.Canvas(root, width=200, height=400, bg=”white”)

        self.canvas.pack()

        self.draw_traffic_light()

        self.colors = [“red”, “orange”, “green”]

        self.current_color_index = 0

        self.update_traffic_light()

    def draw_traffic_light(self):

        #Draw the traffic light background

        self.canvas.create_rectangle(50, 50, 150, 350, outline=”black”, fill=”gray”)

        #Draw the red light

        self.canvas.create_oval(75, 75, 125, 125, outline=”black”, fill=”gray”, tags=”red”)

        #Draw the orange light

        self.canvas.create_oval(75, 150, 125, 200, outline=”black”, fill=”gray”, tags=”orange”)

        #Draw the green light

        self.canvas.create_oval(75, 225, 125, 275, outline=”black”, fill=”gray”, tags=”green”)

    def update_traffic_light(self):

        current_color = self.colors[self.current_color_index]

        #Turn off all lights

        self.canvas.itemconfig(“red”, fill=”gray”)

        self.canvas.itemconfig(“orange”, fill=”gray”)

        self.canvas.itemconfig(“green”, fill=”gray”)

        #Turn on the current color

        self.canvas.itemconfig(current_color, fill=current_color)

        #Update the color index for the next iteration

        self.current_color_index = (self.current_color_index + 1) % len(self.colors)

        #Schedule the next update after 10 seconds

        self.root.after(10000, self.update_traffic_light)

if _name_ == “__main__”:

    root = tk.Tk()

    traffic_light = TrafficLight(root)

    root.mainloop()

 

Leave a Reply

Your email address will not be published. Required fields are marked *