<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def decipher(self, string):
 """Decipher string using Playfair cipher according to initialised key. Punctuation and whitespace are removed from the input. The ciphertext should be an even number of characters. If the input ciphertext is not an even number of characters, an 'X' will be appended. Example:: plaintext = Playfair(key='zgptfoihmuwdrcnykeqaxvsbl').decipher(ciphertext) :param string: The string to decipher. :returns: The deciphered string. """
    
        string = self.remove_punctuation(string)  
        if len(string) % 2 == 1:
            string += 'X'
        ret = ''
        for c in range(0, len(string), 2):
            ret += self.decipher_pair(string[c], string[c + 1])
        return ret