title: float object has no attribute __getitem__
body: <p>This is the error I'm getting from this function:</p>
  
  <pre><code>TypeError: 'float' object has no attribute '__getitem__'
  </code></pre>
  
  <p>The <code>self.target</code> is just an tuple and <code>self.x</code> and <code>self.y</code> are ints, I don't know what I've done wrong. </p>
  
  <pre><code>class Robot(object):
  def __init__(self):
      global WIDTH
      global HEIGHT
      global BACKGROUND
      self.speed = random.randint(0,8)
      self.size = 5
      self.counter = 0
      self.direction = "n"
      self.target = (0,0)
      self.directions = ["n","ne","e","se","s","sw","w","nw","stop"]
      self.distance_to_cords = {}
      self.target_cords = []
  
      self.direction_movementsy = {"n": -1,
                                  "ne" : -1,
                                  "e" : 0,
                                  "se" : 1,
                                  "s": 1,
                                  "sw": 1,
                                  "w": 0,
                                  "nw": -1}
  
      self.direction_movementsx = {"n": 0,
                                  "ne" : 1,
                                  "e" : 1,
                                  "se" : 1,
                                  "s": 0,
                                  "sw": -1,
                                  "w": -1,
                                  "nw": -1}
  
  
  
  
  
  
  
      self.x = random.randint(0,WIDTH)
      self.y = random.randint(0,HEIGHT)
      self.colour = RED
  
  def draw(self):
      pygame.draw.polygon(DISPLAYSURF,self.colour,((self.x,self.y),(self.x,self.y + self.size ),(self.x + self.size,self.y + self.size),(self.x + self.size,self.y)))
      pygame.display.update()
  
  def undraw(self):
      pygame.draw.polygon(DISPLAYSURF,BACKGROUND,((self.x,self.y),(self.x,self.y + self.size ),(self.x + self.size,self.y + self.size),(self.x + self.size,self.y)))
      pygame.display.update()
  
  def direction_decider(self):
      #x stuff
  
      #w
      if self.target[0] &lt; self.x:
          question1 = True
      else:
          question1 = False
  
      #e
      if self.target[0] &gt; self.x:
          question2 = True
      else:
          question2 = False
  
  
      #n
      if self.target[0] &lt; self.y: 
          question3 = True
      else:
          question3 = False
  
      #s
      if self.target[0] &gt; self.y:
          question4 = True
      else:
          question4 = False
  
  
      answer = (question1, question2, question3, question4)
  
  
      lookup_which_direct = { (True,False,False,False):"w",
                              (False,True,False,False):"e",
                              (False,False,True,False):"n",
                              (False,False,False,True):"s",
                              (True,False,True,False):"nw",
                              (True,False,False,True):"sw",
                              (False,True,True,False):"ne",
                              (False,True,False,True):"se"}
  
      cheese =lookup_which_direct[answer]
      print cheese
  
  
  
  
  
  
  
  
  
  
  
  
  def dist_calc(self):
      for p in plant_list:
          x_dist = self.x - p.x
          y_dist = self.y - p.y
          total_dist = (y_dist**2 +x_dist**2)**0.5
          self.distance_to_cords[total_dist] = (p.x,p.y)
      ordering_list = self.distance_to_cords.keys()
      ordering_list = sorted(ordering_list)
      self.target = ordering_list[0]
      self.target_cords = self.distance_to_cords[self.target]
  </code></pre>