title: TypeError: not enough arguments for format string - using a While Loop
body: <p>I'm doing the old 99 bottles song and trying to do it using a While loop, to help me continue to better learn that loop type. </p>
  
  <p>I'm wondering why I would be getting a TypeError when in my code below and what arguments exactly I'm missing?</p>
  
  <p>Here is my code:</p>
  
  <pre><code># Get number of beers
  bottles = int(raw_input("How many bottles of beer? "))
  
  # return invalid response
  if bottles &lt; 1:
      print "That's not a good number"
  
      if bottles == 1:
          s1 = "bottle" 
          s2 = "bottles" 
  
      elif bottles == 2:
          s1 = "bottles" 
          s2 = "bottles" 
  
  # sing verses
  while bottles &gt; 0:
      print "%d %s of beer on the wall," % bottles, s1
      print "%d %s of beer." % bottles, s1
      print "You take one down, pass it around,"
      print "%d %s of beer on the wall." % (bottles - 1), s2
      print
      bottles -= 1
  </code></pre>
  
  <p>And here is the error:</p>
  
  <pre><code>Traceback (most recent call last):
      File "beer.py", line 47, in &lt;module&gt;
            print "%d %s of beer on the wall," % bottles, s1
  TypeError: not enough arguments for format string
  </code></pre>
  
  <p>I've tried using parenthesis around the "bottles, s1" after the %, but still doesn't help. Any suggestions?</p>