Как считывать определенную информацию из текстового файла?
Мне нужно сделать программу-тест, которая бы брала из текстового файла вопросы(не все сразу, по одному) и варианты ответа к ним и выводила бы всё это в консоль, а затем бы записывала в другой текстовый файл и оценивала правильность ответов. Я не знаю, как сделать такое выборочное сканирование файла.
test = open('questions.txt', 'r')
for line in test:
print (line) # тут должно быть условие
ТЗ: Создайте программу, которая берет вопросы и варианты ответов из текстового файла и выводит их пользователю. Затем программа должна сравнивать ответы с правильными вариантами и выставлять оценку (количество вопросов – 10).
Ответы (1 шт):
Это всё, конечно, костыльно выглядит, но вот вариант.
В файл с вопросами записываете инфу в таком виде:
Вопрос1@ответ1@ответ2@ответ3@ответ4
Вопрос2@ответ1@ответ2@ответ3@ответ4
Вопрос3@ответ1@ответ2@ответ3@ответ4
То есть каждый новый вопрос с новой строки и через собачку @ без пробелов варианты ответов.
Потом несколько извращенный код.
path_1 = 'Путь к файлу с вопросами.txt' #Заменить на пути к файлам
path_2 = 'Путь к файлу для ответов.txt'
f2 = open(path_2, 'a')
with open(path_1, "r") as f:
for string in f.readlines():
question = string.split('@')[0]
answer_1 = string.split('@')[1]
answer_2 = string.split('@')[2]
answer_3 = string.split('@')[3]
answer_4 = string.split('@')[4]
print("\n{}\n".format(question))
print("Вариант 1: {}".format(answer_1))
print("Вариант 2: {}".format(answer_2))
print("Вариант 3: {}".format(answer_3))
print("Вариант 4: {}".format(answer_4))
variants = {'1' : answer_1, '2' : answer_2, '3' : answer_3, '4' : answer_4}
ans = input('\nВведите номер варианта ответа и нажмите Enter: ')
f2.write("{}\n{}\n\n".format(question, variants[ans]))
f2.close()