Как составить программу экзаменатор

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

ball = 0 kol = 0 otvets = [] with open(u’q.txt’, ‘r’) as f: # читаем файл while True: vopros = f.readline().strip() if not vopros: break for i in range(3): # построчно получаем варианты ответов otvets.append(f.readline().strip()) kod = f.readline().strip() # получаем правильный ответ print(vopros) for n, otvet in enumerate(otvets, start=1): # С помощью функции нумеруем ответы print(n, otvet) otvets=[] # очищаем список, чтобы туда не попали ответы предыдущих вопросов k = input(‘Введите номер правильного ответа и нажмите Entern’) # input всегда вернет строку kol += 1 # Сокращенная запись if k == kod: ball += 1 print(f’Вы ответили правильно на из вопросов’) # f-строка

В переменной kol у нас будет копиться количество заданных вопросов, а в переменной ball будет накапливаться количество правильных ответов.

Электронный экзаменатор

Теперь нам нужно по очереди читать из файла строки, и записывать их в переменные vopros, otvet1, otvet2, otvet3, и kod. Далее печатать очередной вопрос и его ответы, и ожидать от пользователя ввода цифры с вариантом. Если введенная цифру равна переменной kod где у нас храниться код правильного ответа, то добавим к переменной ball единичку.

Читайте также:
Лучшая программа для оцифровки видеокассет

Мы изначально не знаем сколько в файле q.txt записано вопросов, поэтому будем читать строку с вопросом, а потом проверять прочиталась ли она (не кончился ли файл). Если не прочиталась, значит файл закончился и нужно выйти из цикла с помощью break, а если прочиталась, то можно читать дальше — ответы и код правильного ответа.

Чтение строк из файла производим с помощью f.readline().strip() — эта команда чтения очередной строки, с приклеенной позади неё командой .strip() которая очищает строку от лишних пробелов. В конце программа выводит ваш результат — количество вопросов на которые вы ответили правильно. Используя обычный блокнот вы можете поместить в файл с тестом сколько угодно вопросов и ответов, главное соблюдайте заданный нами формат — в один вопрос, три ответа и код верного ответа. Мы написали несложную программу, которая позволяет проводить тестирование, или создать тест-игру. В следующих уроках мы разберём что такое функции. ———————————— Список использованных команд:

a=f.readline() — читает строку из файла.

Самоучитель Python. Урок 10 программа — экзаменатор

Отличие read() от readline() — read() читает сразу весь файл, readline() читает его построчно, что удобно делать в цикле

Источник: pythonvideo.ru

Уроки Python 10 — Программа — экзаменатор
компьютерная программа по информатике и икт

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

Для начала давайте создадим на диске D: файл q.txt в который запишем вопросы, ответы и код правильного ответа в следующем формате

Код правильного ответа одной цифрой

Для примера, я с помощью стандартного блокнота Windows создам вот такой файл с тремя вопросами

Читайте также:
Что вы будете учитывать при проектировании рабочей программы учебного предмета

Как звали няню Пушкина?

За что мы любим программирование?

Позволяет решать задачи

Позволяет зарабатывать деньги

Позволяет сидеть за компом

Итак, файл готов, теперь нужно написать программу:

f=open( u’D:/q.txt’ , ‘r’ )

print( ‘1. ‘ +otvet1)

print( ‘2. ‘ +otvet2)

print( ‘3. ‘ +otvet3)

k=str(input( ‘Введите номер правильного ответа и нажмите Entern’ ))

print( ‘Вы ответили правильно на ‘ + str(ball) + ‘ из ‘ + str(kol) + ‘ вопросов’ )

В переменной kol у нас будет копиться количество заданных вопросов, а в переменной ball будет накапливаться количество правильных ответов.

Теперь нам нужно по очереди читать из файла строки, и записывать их в переменные vopros, otvet1, otvet2, otvet3, и kod. Далее печатать очередной вопрос и его ответы, и ожидать от пользователя ввода цифры с вариантом. Если введенная цифру равна переменной kod где у нас храниться код правильного ответа, то добавим к переменной ball единичку.

Экзаменатор

Тестирование широко применяется для оценки уровня знаний в учебных заведениях, при приеме на работу, для оценки квалификации персонала. Испытуемому предлагается тест — последовательность вопросов, на которые он должен ответить. Обычно к каждому вопросу дается несколько вариантов ответа, из которых надо выбрать правильный.

Каждому варианту ответа соответствует некоторая оценка. Суммированием оценок за ответы получается общий балл, на основе которого делается вывод об уровне подготовленности испытуемого (выставляется оценка). Рассмотрим программу «Экзаменатор» (рис. 10.1), которая позволяет автоматизировать процесс тестирования. Рис.

10.1. Программа «Экзаменатор»

198 Глава 10

Требования к программе

В результате анализа различных тестов можно сформулировать следующие требования к программе тестирования:  программа должна обеспечить работу с тестом произвольной длины (не должно быть ограничений на количество вопросов в тесте);  каждому вопросу может соответствовать до четырех возможных вариантов ответа, только один из которых является правильным;  результат тестирования должен быть отнесен к одному из четырех уровней. Например, «отлично», «хорошо», «удовлетворительно» или «плохо»;  тест должен представлять собой текстовый файл;  программа не должна обеспечивать возврат к предыдущему вопросу. Если вопрос предложен, то на него должен быть получен ответ.

Читайте также:
Нэп это антикризисная программа

Алгоритм программы

Укрупненный алгоритм работы программы «Экзаменатор» приведен на рис. 10.2.

Примеры программ 199
Читать из файла:
заголовок, оценки
Да
Конец файла?
Нет
Читать из файла
вопрос, К и R
Повторить К-раз
Читать из файла и
вывести на экран
вариант ответа
Получить от
испытуемого
номер ответа
Ответ Нет
правильный?
Да
Увеличить счетчик
правильных ответов
Вывести результат

Рис. 10.2. Алгоритм программы «Экзаменатор»

200 Глава 10

Структура файла теста

Примеры программ 201

Вариант ответа Вариант ответа . В листинге 10.1 в качестве примера приведен файл теста, целью которого является проверка знания истории СанктПетербурга. Листинг 10.1. Пример файла теста (spb.tst) История Санкт-Петербурга Отлично 7 Хорошо 6 Удовлетворительно 5 Плохо 4 Архитектор Исаакиевского собора: 3 2 Доменико Трезини Огюст Монферран Карл Росси Александровская колона воздвигнута в 1836 г. как памятник, посвященный: 2 1 деяниям императора Александра I подвигу народа в Отечественной войне 1812 года Архитектор Зимнего дворца:

202 Глава 10

3 1 Бартоломео Растрелли Карл Росси Огюст Монферран Михайловский замок построен по проекту: 3 3 Воронихина Андрея Никифоровича Старова Ивана Егоровича Баженова Василия Ивановича Остров, на котором находится Ботанический сад, называется: 3 3 Заячий Медицинский Аптекарский Невский проспект получил свое название 3 2 по имени реки, на которой стоит Санкт-Петербург по имени близко расположенного монастыря, Александро-Невской лавры в память о знаменитом полководце — Александре Невском Скульптура памятника Петру I «Медный всадник» выполнена 2 1 Фальконе Клодтом

Примеры программ 203

Подготовить файл теста можно при помощи редактора Small Basic (рис. 10.3). Рис. 10.3. Файл теста

Источник: studfile.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru