code: def dist(self, src, tar, mode='lev', cost=(1, 1, 1, 1)):
          
          if src == tar:
              return 0
          ins_cost, del_cost = cost[:2]
          return levenshtein(src, tar, mode, cost) / (
              max(len(src) * del_cost, len(tar) * ins_cost)
          )
docs: Return the normalized Levenshtein distance between two strings.
  
          The Levenshtein distance is normalized by dividing the Levenshtein
          distance (calculated by any of the three supported methods) by the
          greater of the number of characters in src times the cost of a delete
          and the number of characters in tar times the cost of an insert.
          For the case in which all operations have :math:`cost = 1`, this is
          equivalent to the greater of the length of the two strings src & tar.
  
          Parameters
          ----------
          src : str
              Source string for comparison
          tar : str
              Target string for comparison
          mode : str
              Specifies a mode for computing the Levenshtein distance:
  
                  - ``lev`` (default) computes the ordinary Levenshtein distance,
                    in which edits may include inserts, deletes, and
                    substitutions
                  - ``osa`` computes the Optimal String Alignment distance, in
                    which edits may include inserts, deletes, substitutions, and
                    transpositions but substrings may only be edited once
  
          cost : tuple
              A 4-tuple representing the cost of the four possible edits:
              inserts, deletes, substitutions, and transpositions, respectively
              (by default: (1, 1, 1, 1))
  
          Returns
          -------
          float
              The normalized Levenshtein distance between src & tar
  
          Examples
          --------
          >>> cmp = Levenshtein()
          >>> round(cmp.dist('cat', 'hat'), 12)
          0.333333333333
          >>> round(cmp.dist('Niall', 'Neil'), 12)
          0.6
          >>> cmp.dist('aluminum', 'Catalan')
          0.875
          >>> cmp.dist('ATCG', 'TAGC')
          0.75