Python при разбиении строки в файле оставляет в конце символ новой строки - PullRequest
0 голосов
/ 26 августа 2018

Я пытаюсь сделать простую программу вопросов / ответов, где вопросы пишутся в обычном текстовом файле, например это

Проблема в том, что когда я делю код (на #), он также покидает символ новой строки, а это означает, что любой, использующий программу, должен будет добавить символ новой строки в ответ. Любой способ удалить эту новую строку, так что требуется только ответ?

Код:

file1 = open("file1.txt", "r")
p = 0
for line in file:
    list = line.split("#")
    answer = input(list[0])
    if answer == list[1]:
        p = p + 1
print("points:",p)

Ответы [ 2 ]

0 голосов
/ 26 августа 2018

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

if answer == list[1].rstrip():
0 голосов
/ 26 августа 2018

Удалите все пробелы с правой стороны вашего ввода:

list[1] = list[1].rstrip()

Или просто новые строки:

list[1] = list[1].rstrip('\n')

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

prompt, expected = line.split('#')
expected = expected.rstrip()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...