Проблема
Вы явно удаляете символы новой строки из прочитанных данных, используя следующую строку в своем коде:
data = results.read().replace('\n','').lower()
Кроме того, чтобы включить пробелы и символы новой строки в ваш кодcode, вам нужно будет добавить символы новой строки и пробелы без изменений в код.
Решение
Если вы хотите сохранить пробелы и символы новой строки, просто измените строки следующим образом:
with open("output.txt", "r") as results:
data = results.read().lower()
alphabet = "abcdefghijklmnopqrstuvwxyz"
key = 0
cipher = ""
for c in data:
if c in alphabet:
cipher += alphabet[(alphabet.index(c) + key) % (len(alphabet))]
elif c in [' ', '\n']:
cipher += c
print("Your encrypted message is:" + cipher)