aboutsummaryrefslogtreecommitdiff
path: root/problems/somevigenere.py
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2024-09-30 16:08:27 +0530
committerRaghuram Subramani <raghus2247@gmail.com>2024-09-30 16:08:27 +0530
commit3496b0ed08c51e37e135e686b1632fd86f930c2c (patch)
tree1da44792489607070f3b4ca14d82af05b73e362b /problems/somevigenere.py
(init): Initialize repository.
Diffstat (limited to 'problems/somevigenere.py')
-rw-r--r--problems/somevigenere.py29
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)