code: def norm_shape(shape):
      '''
      Normalize numpy array shapes so they're always expressed as a tuple,
      even for one-dimensional shapes.
       
      Parameters
          shape - an int, or a tuple of ints
       
      Returns
          a shape tuple
      '''
      try:
          i = int(shape)
          return (i,)
      except TypeError:
          # shape was not a number
          pass
   
      try:
          t = tuple(shape)
          return t
      except TypeError:
          # shape was not iterable
          pass
       
      raise TypeError('shape must be an int, or a tuple of ints'f norm_shape(shape):
      '''
      Normalize numpy array shapes so they're always expressed as a tuple,
      even for one-dimensional shapes.
       
      Parameters
          shape - an int, or a tuple of ints
       
      Returns
          a shape tuple
      '''
      try:
          i = int(shape)
          return (i,)
      except TypeError:
          # shape was not a number
          pass
   
      try:
          t = tuple(shape)
          return t
      except TypeError:
          # shape was not iterable
          pass
       
      raise TypeError('shape must be an int, or a tuple of ints')
docs: Normalize numpy array shapes so they're always expressed as a tuple,
      even for one-dimensional shapes.
       
      Parameters
          shape - an int, or a tuple of ints
       
      Returns
          a shape tuple