Отладка печатью
# ...
for item in bookings:
line_1 = line[b]
line_2 = line[c]
print("Your Answer:", repr(answer))
print("Actual Answer:", repr(line_2))
# ...
дает
Your Answer: 'red'
Actual Answer: 'red\n'
Aha! Подлый символ новой строки! Похоже, когда программа читала текст из файла и разбивала строки, она сохраняла символ новой строки для вас. Как сладко раздражает. : |
Чтобы удалить его, вы можете использовать метод str.replace()
# ...
for _ in range(len(bookings)): # I took the freedom to modify the loop conditions
line_1 = line[b].replace('\n','')
line_2 = line[c].replace('\n','')
# ...
или измените способ чтения строк из файла, разделив их вручную, используя метод str.split()
# ...
with open('test_1.txt' , 'r') as file_test:
line = file_test.read().split('\n')
for _ in range(len(bookings)):
line_1 = line[b]
line_2 = line[c]
# ...
Кредит отправляется @ juanpa.arrivillaga за предложение использовать repr()
для проверки значений.