Files

20 lines
657 B
Python

def rotate(text, key):
cyphertext: str = ""
for letter in text:
if letter.isalpha():
# check if letter is uppercase or lower case,
# and set add_value accordingly
if ord(letter) >= ord("A") and ord(letter) <= ord("Z"):
add_value = ord("A")
else:
add_value = ord("a")
# mod_value
mod_value = add_value + 26
cyphertext += chr(
((ord(letter) + key) % mod_value)
+ (((ord(letter) + key) // mod_value) * add_value)
)
else:
cyphertext += letter
return cyphertext