diff options
author | Raghuram Subramani <raghus2247@gmail.com> | 2024-09-30 16:08:27 +0530 |
---|---|---|
committer | Raghuram Subramani <raghus2247@gmail.com> | 2024-09-30 16:08:27 +0530 |
commit | 3496b0ed08c51e37e135e686b1632fd86f930c2c (patch) | |
tree | 1da44792489607070f3b4ca14d82af05b73e362b /problems/somevigenere.py |
(init): Initialize repository.
Diffstat (limited to 'problems/somevigenere.py')
-rw-r--r-- | problems/somevigenere.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/problems/somevigenere.py b/problems/somevigenere.py new file mode 100644 index 0000000..68967af --- /dev/null +++ b/problems/somevigenere.py @@ -0,0 +1,29 @@ +def encrypt(plaintext, key): + alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + plaintext = plaintext.replace(" ", "") + key_length = len(key) + key_expanded = (key * ((len(plaintext) // key_length) + 1))[:len(plaintext)] + encrypted_text = [] + + for pt_char, key_char in zip(plaintext, key_expanded): + pt_index = alphabet.index(pt_char) + key_index = alphabet.index(key_char) + encrypted_index = (pt_index + key_index) % 26 + encrypted_text.append(alphabet[encrypted_index]) + + encrypted_result = ''.join(encrypted_text) + + if encrypted_result: + print(encrypted_result) + else: + print("NOTHING") + +if __name__ == "__main__": + import sys + input = sys.stdin.read + data = input().splitlines() + + plaintext = data[0] + key = data[1] + + encrypt(plaintext, key) |