Hi, I’m running into an error when trying to create a function that loops through an encrypted message and uses a key to decipher it (Caesar Cipher method).
However, I keep getting this error:
Traceback (most recent call last):
File “script.py”, line 19, in
print(crack_message(encrypted_message, key))
File “script.py”, line 13, in crack_message
decrypted_message += new_char
UnboundLocalError: local variable ‘decrypted_message’ referenced before assignment
Here is the code I’m working on:
#Decrpyt Message:
letters = “abcdefghijklmnopqrstuvwxyz”
encrypted_message = “xuo jxuhu! jxyi yi qd unqcfbu ev q squiqh syfxuh. muhu oek qrbu je tusetu yj? y xefu ie! iudt cu q cuiiqwu rqsa myjx jxu iqcu evviuj!”
key= int(10)
decrypted_message=“”
def crack_message(encrypted_message, key):
for ch in encrypted_message:
if ch in letters:
position = letters.find(ch)
new_pos = (position + key) % 26
new_char = letters[new_pos]
decrypted_message += new_char
return decrypted_message
else:
decrypted_message += ch
return decrypted_message
print(crack_message(encrypted_message, key))
What am I missing here? Thanks in advance!