Python Forum

Full Version: Console not giving any response to this program.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi again, I'm making this encryption\decryption algorithm but now that I'm working with the decryption part the code doesn't output anything.
class w_encryption():
    """A class with a method to encrypt text and a method to decrypt text."""

    def __init__(self, string):
        """Declares the variables used within the methods."""
        self.string = string

    def _decrypt_(self):
        """Deciphers the numbers and transforms them into text."""
        decrypted_text = ''

        while self.string:
            number_list = [self.string[i:i+5] for i in range(0, len(self.string), 5)]
            for number_letter in number_list:
                if int(number_letter) >= 17000 and int(number_letter) <= 17153:
                    dechar = 'a'
                    decrypted_text += dechar
                elif int(number_letter) >= 17188 and int(number_letter) <= 17200:
                    dechar = 'b'
                    decrypted_text += dechar
                elif int(number_letter) >= 17215 and int(number_letter) <= 17279:
                    dechar = 'c'
                    decrypted_text += dechar
                elif int(number_letter) >= 17299 and int(number_letter) <= 17310:
                    dechar = 'd'
                    decrypted_text += dechar
                elif int(number_letter) >= 17382 and int(number_letter) <= 17400:
                    dechar = 'e'
                    decrypted_text += dechar
                elif int(number_letter) >= 17500 and int(number_letter) <= 17529:
                    dechar = 'f'
                    decrypted_text += dechar
                elif int(number_letter) >= 17599 and int(number_letter) <= 17630:
                    dechar = 'g'
                    decrypted_text += dechar
                elif int(number_letter) >= 17653 and int(number_letter) <= 17694:
                    dechar = 'h'
                    decrypted_text += dechar
                elif int(number_letter) >= 17698 and int(number_letter) <= 17703:
                    dechar = 'i'
                    decrypted_text += dechar
                elif int(number_letter) >= 17727 and int(number_letter) <= 17760:
                    dechar = 'j'
                    decrypted_text += dechar
        return decrypted_text


test = w_encryption('170991718817279')
print(test._decrypt_())
The output should be 'abe' but the console doesn't show any output.

Thanks in advance for your response.
The code is stuck in an infinite loop, while self.string is always true