title: "TypeError: 'function' object is not subscriptable" on a string?
body: <p>I'm scripting a small game to guess a number and I don't understand why I'm getting this error as both num and userNum in my numCheck() function should be strings and not functions.</p>
  
  <pre><code>import random
  
  def num():
      """Returns a number between 1000 and 9999."""
      num = str(random.randint(1000, 9999))
      print("Random number is: " + num) #for testing purposes
      return num
  
  def userNum():
      """Asks user for a number between 1000 and 9999."""
      while True:
          try:
              userNum = int(input("Choose a number between 1000 and 9999: "))
          except ValueError:
              print("This isn't a number, try again.")
              continue
          if userNum &lt; 1000 or userNum &gt; 9990:
              print("Your number isn't between 1000 and 9999, try again.")
              continue
          else:
              break
      userNum = str(userNum)
      return userNum
  
  def numCheck(num, userNum):
      """Checks the number of cows and bulls."""
      cow = 0
      bull = 0
      for i in range(0, 3):
          if userNum[i] == num[i]:
              cow += 1
          else:
              bull += 1
      print("You have " + str(cow) + " cow(s) and you have " + str(bull) + " bull(s).")
      return cow
  
  def gameLoop():
      """Loops the game until the user find the right number."""
      num()
      cow = 0
      if cow &lt; 4:
          userNum()
          numCheck(num, userNum)
      else:
          print("Congratulation, You found the right number!")
  
  gameLoop()
  </code></pre>
  
  <p>The error I get when I run the script is the following:</p>
  
  <pre><code>==================== RESTART: /home/pi/Desktop/cowbull.py ====================
  Random number is: 8104
  Choose a number between 1000 and 9999: 5555
  Traceback (most recent call last):
    File "/home/pi/Desktop/cowbull.py", line 47, in &lt;module&gt;
      gameLoop()
    File "/home/pi/Desktop/cowbull.py", line 43, in gameLoop
      numCheck(num, userNum)
    File "/home/pi/Desktop/cowbull.py", line 30, in numCheck
      if userNum[i] == num[i]:
  TypeError: 'function' object is not subscriptable
  &gt;&gt;&gt; 
  </code></pre>
  
  <p>Note that other things may not be working or perfect at the moment, but I'm only trying to figure out the logic of this error so I can continue on.</p>
  
  <p>Thanks for the help!</p>