title: AttributeError: 'tuple' object has no attribute 'copy'
body: <p>Can any one explain this error message to me?</p>
  
  <pre><code># make a copy or hand is destroyed by your test
  remaining = hand.copy()
  </code></pre>
  
  <p>Result:</p>
  
  <pre><code>AttributeError: 'tuple' object has no attribute 'copy'
  </code></pre>
  
  <p>I can do this:</p>
  
  <pre><code>remaining = copy.copy(hand)
  </code></pre>
  
  <p>which returns this:</p>
  
  <pre><code>(None, {hand...})
  </code></pre>
  
  <p>Which throws off what i'm trying to accomplish because the function is returning False when it searches the None return value.</p>
  
  <p>This is the function that creates the hand:</p>
  
  <pre><code>def deal_hand(n):
  """
  Returns a random hand containing n lowercase letters.
  At least n/3 the letters in the hand should be VOWELS.
  
  Hands are represented as dictionaries. The keys are
  letters and the values are the number of times the
  particular letter is repeated in that hand.
  
  n: int &gt;= 0
  returns: dictionary (string -&gt; int)
  """
  hand={}
  num_vowels = n / 3
  
  for i in range(num_vowels):
      x = VOWELS[random.randrange(0,len(VOWELS))]
      hand[x] = hand.get(x, 0) + 1
  
  for i in range(num_vowels, n):    
      x = CONSONANTS[random.randrange(0,len(CONSONANTS))]
      hand[x] = hand.get(x, 0) + 1
  
  return hand
  </code></pre>
  
  <p>EDIT:
  I changed hand further along the way and created a tuple out of it instead of a dictionary.  Thanks!</p>