title: Issue while using a timer function in a threading context
body: <p>While working on a game for my final project in a class I’m taking I was trying to figure out how to use a timer but still be able to interact with other running code, in my research I came across threading and it’s worked so far, but the issue is that when it comes to practice, the timer doesn’t work but it rather rapidly repeats itself and I don’t know how to slow it down like I want. I’ve tried swapping the interval number for anything else but it doesn’t matter what it is, it remains to do the same thing.</p>
  <p>-also I understand the code is messy, I’m a student and I’m still learning. I’m sure there are much better ways to do a lot of the things I have done. Also this is my first question on Stack overflow so I hope I’m doing this right</p>
  <p>Its on lines 129 &amp; 130</p>
  <pre><code>timer = threading.Timer(1, clickers)
  timer.start
  </code></pre>
  <hr />
  <pre><code>import turtle as trtl
  import threading
  import time
  wn = trtl.Screen()
  
  wn.bgpic(&quot;clouds.png&quot;)
  font_setup = (&quot;Arial&quot;, 15, &quot;normal&quot;)
  font_setup2 = (&quot;Arial&quot;, 20, &quot;bold&quot;)
  sun_img = &quot;sun.gif&quot;
  wn.addshape(&quot;sun.gif&quot;)
  sun = trtl.Turtle(shape = sun_img)
  sun.penup()
  sun.goto(0, 175)
  clkr_img = &quot;rocketship.gif&quot;
  wn.addshape(&quot;rocketship.gif&quot;)
  clkr = trtl.Turtle(shape = clkr_img)
  clkr.penup()
  clkr.left(90)
  clkr.goto(0,-110)
  moneya = trtl.Turtle()
  moneya.hideturtle()
  moneya.penup()
  moneya.goto(-180, -180)
  money = 0
  upg1price = trtl.Turtle()
  upg1price.hideturtle()
  upg1price.penup()
  upg1price.goto(63,-20)
  csup = trtl.Turtle()
  csup.hideturtle()
  csup.penup()
  csup.goto(63,-50)
  broke = trtl.Turtle()
  broke.hideturtle()
  shoptf = 0
  broke.penup()
  broke.goto(-170,-30)
  broke.pencolor(&quot;red&quot;)
  shop_img = &quot;cart.gif&quot;
  wn.addshape(&quot;cart.gif&quot;)
  shop = trtl.Turtle(shape = shop_img)
  shop.shapesize(0.5)
  shop.penup()
  shop.goto(150,150)
  back_img = &quot;backk.gif&quot;
  wn.addshape(&quot;backk.gif&quot;)
  back = trtl.Turtle(shape = back_img)
  back.penup()
  back.hideturtle()
  back.goto(-110,135)
  ugrd_img = &quot;upgrade1.gif&quot;
  wn.addshape(&quot;upgrade1.gif&quot;)
  ugrd = trtl.Turtle(shape = ugrd_img)
  ugrd.penup()
  ugrd.goto(0,-10)
  ugrd.hideturtle()
  cs_img = &quot;clicksla.gif&quot;
  wn.addshape(&quot;clicksla.gif&quot;)
  cs = trtl.Turtle(shape = cs_img)
  cs.penup()
  cs.goto(0, -40)
  cs.hideturtle()
  dmg = 5
  wn.addshape(&quot;rktboom.gif&quot;)
  clkrdmg = 0
  price = 50
  price2= 75
  fmvmnt = 1
  def gostore(x,y):
    global price
    upg1price.write(&quot;$&quot; + str(round(price)), font=font_setup)
    csup.write(&quot;$&quot; + str(round(price2)), font=font_setup)
    back.showturtle()
    clkr.hideturtle()
    shop.hideturtle()
    ugrd.showturtle()
    cs.showturtle()
    sun.hideturtle()
    wn.bgpic(&quot;storefront.png&quot;)
  percentnumb2 = 50
  percentnumb = 25
  def upgrade1(x,y):
    global money,dmg,price,percent,fmvmnt
    if (money &lt; price):
      broke.write(&quot;You cant afford!&quot;, font=font_setup2)
      time.sleep(3)
      broke.clear()
    else:
  money = money - round(price)
  moneya.clear()
  moneya.write(&quot;MONEY: $&quot; + str(money), font=font_setup)
  dmg = dmg + 5
  fmvmnt = fmvmnt + 1
  upg1price.clear()
  percent = (percentnumb*price)/100
  price = round(price) + percent
  upg1price.write(&quot;$&quot; + str(round(price)), font=font_setup)
  clik = 0
  mor = 0
  timer = None
  def clickers(x,y):
    global money,price2,percent2,clik,clkrdmg,timer,clkr_img
    if (money &lt; price2):
      broke.write(&quot;You cant afford!&quot;, font=font_setup2)
      time.sleep(3)
      broke.clear()
    else:
      money = money - round(price2)
      moneya.clear()
      moneya.write(&quot;MONEY: $&quot; + str(money), font=font_setup)
      clik = clik + 1
      clkrdmg = clkrdmg + 5
      csup.clear()
      percent2 = (percentnumb2*price2)/100
      price2 = round(price2) + percent2
      csup.write(&quot;$&quot; + str(round(price2)), font=font_setup)
      while clik &gt;= 1:
        money = money + clkrdmg
        moneya.clear()
        moneya.write(&quot;MONEY: $&quot; + str(money), font=font_setup)
        clkr.forward(1)
        if (abs(clkr.ycor() - sun.ycor()) &lt; 5):
          clkr.shape(&quot;rktboom.gif&quot;)
          time.sleep(1)
          clkr.hideturtle()
          clkr.shape(&quot;rocketship.gif&quot;)
          clkr.goto(0, -100)
          clkr.showturtle()
        timer = threading.Timer(1, clickers)
        timer.start
  def gainpoint(x,y):
    global money,dmg,fmvmnt
    money = money + dmg
    moneya.clear()
    moneya.write(&quot;MONEY: $&quot; + str(money), font=font_setup)
    if (abs(clkr.ycor() - sun.ycor()) &lt; 5):
      clkr.goto(0, -100)
    clkr.forward(fmvmnt)
  def backclick(x,y):
    wn.bgpic(&quot;clouds.png&quot;)
    upg1price.clear()
    csup.clear()
    broke.clear()
    back.hideturtle()
    clkr.showturtle()
    shop.showturtle()
    ugrd.hideturtle()
    sun.showturtle()
    moneya.clear()
    cs.hideturtle()
  clkr.onclick(gainpoint)
  cs.onclick(clickers)
  shop.onclick(gostore)
  back.onclick(backclick)
  ugrd.onclick(upgrade1)
  
  wn.listen()
  wn.mainloop()
  </code></pre>