Как включить пробел и n \ в этот код - PullRequest
0 голосов
/ 28 декабря 2018

Я делаю программу «Цезарь».Я импортирую текстовый файл, но все выходит как одно большое предложение.Как мне получить пробелы и новые строки там?

with open("output.txt", "r") as results:
    data = results.read().replace("\n", "").lower()

alphabet = "abcdefghijklmnopqrstuvwxyz"
key = 0
cipher = ""

for c in data:
    if c in alphabet:
        cipher += alphabet[(alphabet.index(c) + key) % (len(alphabet))]

print("Your encrypted message is:" + cipher)

Your encrypted message is:firstcustomerwhatwillyoubeusingtheaccountforpersonaluseexistingcustomernotitlemrlastnamealrfirstnamenamenameingson

Ответы [ 3 ]

0 голосов
/ 28 декабря 2018

Проблема:

Когда вы используете replace("\n", "") в цикле, заменяет символ новой строки (\ n) символом без пробела.

with open("output.txt", "r") as results:
    data = results.read().replace("\n", "").lower()

Если вы не хотите удалять новую строку, вам нужно пропустить replace часть.

Исправлено:

with open("output.txt", "r") as results:
        data = results.read().lower()

В вашем коде нет ничего, что могло бы заменить пробелы, вы можетепопробуйте добавить несколько пробелов и проверить это.

0 голосов
/ 28 декабря 2018

Проблема

Вы явно удаляете символы новой строки из прочитанных данных, используя следующую строку в своем коде:

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)
0 голосов
/ 28 декабря 2018

Не заменяйте "\ n" на "" "", тогда он будет работать нормально.

...