title: How can I pass input to a function, then have it use that input across 5 internal functions that are chaining each other?
body: <p>This is essentially 2 questions I think.</p>
  
  <ol>
  <li>How do I make all internal functions use the same raw_input?</li>
  <li>How do I chain functions with that input?</li>
  </ol>
  
  <p>I've been trying to make something that will make a circle shape with whatever character the user inputs. (This is a "for fun" activity that I thought up to help me get used to functions. I've only been self teaching Python for 2 weeks now)<br>
  So far my code is:</p>
  
  <pre><code>def circle(symbol):
  
      def lines1(aa):
          print(symbol * 20)
          aa()
          print(symbol * 20)
      return(lines1)
  
      def lines2(bb):
          print(symbol * 7 + ' ' * 6 + symbol * 7)
          bb()
          print(symbol * 7 + ' ' * 6 + symbol * 7)
      return(lines2)
  
      def lines3(cc):
          print(symbol * 4 + ' ' * 12 + symbol * 4)
          cc()
          print(symbol * 4 + ' ' * 12 + symbol * 4)
      return(lines3)
  
      def lines4(dd):
          print(symbol * 2 + ' ' * 16 + symbol * 2)
          dd()
          print(symbol * 2 + ' ' * 16 + symbol * 2)
      return(lines4)
  
      def lines5():
          print(symbol + ' ' * 18 + symbol)
          print(symbol + ' ' * 18 + symbol)
      return(lines5)
  
      lines1(lines2(lines3(lines4(lines5()))))
  
  circle(raw_input())
  </code></pre>
  
  <p>Example: If the user inputs a #, it is supposed to output:</p>
  
  <pre><code>####################
  #######      #######
  ####            ####
  ##                ##
  #                  #
  #                  #
  ##                ##
  ####            ####
  #######      #######
  ####################
  </code></pre>
  
  <p>The problem is it doesn't output anything.</p>