Это базовая программа, которая должна взять строку из предварительно сделанного файла или взять пользовательский ввод, затем зашифровать его и сохранить в файл с помощью цезарного шифра.Загрузка программных файлов, но не изменение значений
Моя проблема в том, что по какой-то причине, когда я запускаю программу и выбираю опцию «Загрузить файл», она будет проходить через весь код без сообщений об ошибках, однако запись в файл .txt не будет зашифрована, кто-нибудь знает, как исправить это?
Для аккуратным макета кода здесь ссылку Pastebin: http://pastebin.com/dJJ1M4g7
def main():
#if they want to save the file after the encrypting if statement
ans = input("Would you like to save to a file of read a file, press w or r").lower()
if ans == "w":
text = input("What is your text you want to enter").lower()
save_file(caeser(text))
elif ans == "r":
caeser(load_file())
# organise loop & function
def caeser(text):
shift = int(input("How much would you like to shift?: "))
shifted_list = []
for letter in text:
character_lower = letter.lower()
ASCII = ord(character_lower)
shift = shift % 26
shifted_letter = ASCII + shift
shifted_char = chr(shifted_letter)
shift_loop = shifted_letter - 26
shift_loop_char = chr(shift_loop)
if shifted_letter >= 97 and shifted_letter <= 122:
shifted_list.append(shifted_char)
text = ''.join(shifted_list)
elif shift_loop >= 97 and shift_loop <= 122:
shifted_list.append(shift_loop_char)
text = ''.join(shifted_list)
else:
shifted_list.append(character_lower)
text = ''.join(shifted_list)
encrypted = text
return encrypted
def save_file(text):
name = input("Enter filename")
file = open(name, "w")
file.write(text)
file.close()
# error protection needs to be added
def load_file():
name = input("what is your file name? (include .txt)")
file = open(name, "r")
text = file.read()
file.close()
return text
main()