Уроки Python 10 - Программа - экзаменатор

Уроки Python 10 - Программа - экзаменатор

В этом уроке мы применим полученные ранее знания, и напишем игру-тестирование, которая будет задавать нам вопросы, и давать варианты ответов, а в конце покажет, на сколько вопросов мы ответили верно. Для начала давайте создадим на диске D: файл q.txt в который запишем вопросы, ответы и код правильного ответа в следующем формате Вопрос Ответ 1 Ответ2 Ответ3 Код правильного ответа одной цифрой Для примера, я с помощью стандартного блокнота Windows создам вот такой файл с тремя вопросами Как звали няню Пушкина? Алина Арина Алла 2 Наполеон - это: Торт Коньяк Полководец 3 За что мы любим программирование? Позволяет решать задачи Позволяет зарабатывать деньги Позволяет сидеть за компом 1 Итак, файл готов, теперь нужно написать программу:

ball=0
kol=0
f=open(u'D:/q.txt', 'r')
while True:
    vopros=f.readline().strip()
    if (not vopros):
        break
    otvet1=f.readline().strip()
    otvet2=f.readline().strip()
    otvet3=f.readline().strip()
    kod=f.readline().strip()
    print(vopros)
    print('1. '+otvet1)
    print('2. '+otvet2)
    print('3. '+otvet3)
    k=str(input('Введите номер правильного ответа и нажмите Enter\n'))
    kol=kol+1
    if(k==kod):
        ball=ball+1
print('Вы ответили правильно на ' + str(ball) +' из '+ str(kol) + ' вопросов')
В переменной kol у нас будет копиться количество заданных вопросов, а в переменной ball будет накапливаться количество правильных ответов. Теперь нам нужно по очереди читать из файла строки, и записывать их в переменные vopros, otvet1, otvet2, otvet3, и kod. Далее печатать очередной вопрос и его ответы, и ожидать от пользователя ввода цифры с вариантом. Если введенная цифру равна переменной kod где у нас храниться код правильного ответа, то добавим к переменной ball единичку. Мы изначально не знаем сколько в файле q.txt записано вопросов, поэтому будем читать строку с вопросом, а потом проверять прочиталась ли она (не кончился ли файл). Если не прочиталась, значит файл закончился и нужно выйти из цикла с помощью break, а если прочиталась, то можно читать дальше - ответы и код правильного ответа. Чтение строк из файла производим с помощью f.readline().strip() - эта команда чтения очередной строки, с приклеенной позади неё командой .strip() которая очищает строку от лишних пробелов. В конце программа выводит ваш результат - количество вопросов на которые вы ответили правильно. Используя обычный блокнот вы можете поместить в файл с тестом сколько угодно вопросов и ответов, главное соблюдайте заданный нами формат - в один вопрос, три ответа и код верного ответа. Мы написали несложную программу, которая позволяет проводить тестирование, или создать тест-игру. В следующих уроках мы разберём что такое функции.

Уроки Python | Программа экзаменатор Лого Pythono.ru Уроки Python 10 - Программа - экзаменатор