Witam

Napisałem program, który co jakiś czas chowa losowe ramię trójkąta i pokazuje je z powrotem. Program powinien działać w pętli, ale wykonuje się tylko jedno schowanie i pokazanie. Ktoś wie dlaczego? Z innymi rodzajami widgetów nie było żadnych problemów z chowaniem i pokazywaniem się elementów w pętli, tylko dla Canvas nie chce to działać.

 
from tkinter import *
import random

def hide():
    can1.delete(hm[0])
    root.after(1000, show)
 
def show():
    line1 = can1.create_line(0,0,200,50)
    line2 = can1.create_line(0,100,200,50)
    line3 = can1.create_line(8,100,8,0)
    root.after(500, hide)

root = Tk()

can1 = Canvas(root, width=200, height=100)
can1.pack()

line1 = can1.create_line(0,0,200,50)
line2 = can1.create_line(0,100,200,50)
line3 = can1.create_line(8,100,8,0)

a = line1
b = line2
c = line3

hm = []
hm.append(a)
hm.append(b)
hm.append(c)
random.shuffle(hm)

root.after(500, hide)

root.mainloop()