Как заставить Python распознавать сохраненные переменные, случайно выбранные из внешнего файла - PullRequest
0 голосов
/ 02 октября 2019

У меня есть программа, которая случайным образом выбирает и печатает названия песен и исполнителей из внешнего текстового файла. Я разбил строку на формат a, b, но программа не распознает переменную, как только я отвечу на вопрос.

file = open("Songz.txt", "r")

lines = file.readlines()

random_lines = random.choice(open("Songz.txt").readlines())

Song = random_lines

a,b=(Song.split(","))
print(a)
print(b)

Answer1 = input().upper()

if Answer1 == b:
        print(" Correct ")
        Quiz_Score = Quiz_Score + 3
else:
        print("incorrect")

Как только код достигнет раздела if Answer1 == b:

кажется, код забывает, какое значение имеет переменная (b). Есть идеи почему?

1 Ответ

1 голос
/ 02 октября 2019

Кажется, проблема в данных, которые вы читаете из файла. На самом деле, список, который вы получите с помощью метода readlines, будет иметь в конце дополнительные символы \n

['SONG1, ANSWER1\n', 'SONG2, ANSWER2\n', 'SONG3, ANSWER3\n']

Поэтому вам нужно очистить их, используя strip():

with open("Songz.txt", "r") as f:
    lines = f.readlines()

random_line = random.choice(lines)

a, b = random_line.split(",")
print(a)
print(b)

answer1 = input().upper()

# strip() will take care of the '\n' and the surrounding spaces if any
if answer1 == b.strip():
    print(" Correct ")
    quiz_score += 3
else:
    print("incorrect")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...