Привет, я писал код для простой программы расшифровки шифра Цезаря с python 3, и я получил это сообщение об ошибке, когда пытался запустить программу. Вот код, и у меня есть описание ситуации после кода.
def main():
def getInputFile():
"""get the name of the file user wants to decrypt and check
if its extension is txt or not and return the file name"""
filename = input('Enter the input file name: ')
while not filename.endswith('.txt'):
filename = input('Invalid file name extension. Please re-enter the input file name: ')
return filename
def decrypt(filename):
"""open the secret message and decrypt the caesar cipher and
return original message"""
readSecretMessage = open(filename, "r")
lines = readSecretMessage.readline()
cipher_key = int(lines[0])
secret_message = lines[1]
decrypted = ""
for letter in secret_message:
if letter in alphabet:
# decrypting
letter_index = (alphabet.find(letter) - cipher_key) % 26
decrypted = decrypted + alphabet[letter_index]
else:
decrypted = decrypted + letter
return decrypted
getInputFile()
message_decrypted = decrypt(filename)
print('The decrypted message is: ')
print(message_decrypted)
main()
И я получаю это сообщение об ошибке из четвертой последней строки, когда пытаюсь запустить функцию расшифровки. Я думал, что это все хорошо, так как я возвратил значение 'filename' из функции getInputFile, но, думаю, нет. Может кто-нибудь помочь мне понять, почему это не работает и как мне это исправить?
Спасибо за ваше время!