code: def _calculate_german_iban_checksum(iban,
                                      iban_fields='DEkkbbbbbbbbcccccccccc'):
      
      number = [value
                for field_type, value in zip(iban_fields, iban)
                if field_type in ['b', 'c']]
      translate = {'0': '0', '1': '1', '2': '2', '3': '3', '4': '4', '5': '5',
                   '6': '6', '7': '7', '8': '8', '9': '9'}
      for i in range(ord('A'), ord('Z') + 1):
          translate[chr(i)] = str(i - ord('A') + 10)
      for val in 'DE00':
          translated = translate[val]
          for char in translated:
              number.append(char)
      number = sum(int(value) * 10**i for i, value in enumerate(number[::-1]))
      checksum = 98 - (number % 97)
      return str(checksum)
docs: Calculate the checksam of the German IBAN format.
  
      Examples
      --------
      >>> iban =        'DE41500105170123456789'
      >>> _calculate_german_iban_checksum(iban)
      '41'