title: used .join(something) but result is not joined
body: <p>The result I'm expecting is</p>
  
  <pre><code>&gt;&gt;&gt; message_to bits('')
  ''
  &gt;&gt;&gt; message_to_bits('hello')
  '0110100001100101011011000110110001101111'
  </code></pre>
  
  <p>But what I get is an error for the empty string and for strings, only the 1s and 0s for the first character:</p>
  
  <pre><code>def char_to_bits(char):
      """char_to_bits(char) -&gt; string
  
      Convert the input ASCII character to an 8 bit string of 1s and 0s.
  
      &gt;&gt;&gt; char_to_bits('A')
      '01000001'
      """
      result = ''
      char_num = ord(char)
      for index in range(8):
          result = get_bit(char_num, index) + result
      return result
  
  def get_bit(int, position):
      """get_bit(int, position) -&gt; bit
  
      Return the bit (as a character, '1' or '0') from a given position
      in a given integer (interpreted in base 2).
  
      The least significant bit is at position 0. The second-least significant
      bit is at position 1, and so forth.
  
      &gt;&gt;&gt; for pos in range(8):
      ...     print(b.get_bit(167, pos))
      ...
      1
      1
      1
      0
      0
      1
      0
      1
      """
      if int &amp; (1 &lt;&lt; position):
          return '1'
      else:
          return '0'
  
  def message_to_bits(message):
      for char in message:
          result="".join(str(bits.char_to_bits(char))) 
      return result
  </code></pre>