code: def _interpret_ltude(value, name, psuffix, nsuffix):
      
      if not isinstance(value, str):
          return Angle(degrees=_unsexagesimalize(value))
  
      value = value.strip().upper()
  
      if value.endswith(psuffix):
          sign = +1.0
      elif value.endswith(nsuffix):
          sign = -1.0
      else:
          raise ValueError('your {0} string {1!r} does not end with either {2!r}'
                           ' or {3!r}'.format(name, value, psuffix, nsuffix))
  
      try:
          value = float(value[:-1])
      except ValueError:
          raise ValueError('your {0} string {1!r} cannot be parsed as a floating'
                           ' point number'.format(name, value))
  
      return Angle(degrees=sign * value)
docs: Interpret a string, float, or tuple as a latitude or longitude angle.
  
      `value` - The string to interpret.
      `name` - 'latitude' or 'longitude', for use in exception messages.
      `positive` - The string that indicates a positive angle ('N' or 'E').
      `negative` - The string that indicates a negative angle ('S' or 'W').