В этом уроке мы применим полученные ранее знания, и напишем игру-тестирование, которая будет задавать нам вопросы, и давать варианты ответов, а в конце покажет, на сколько вопросов мы ответили верно.
Для начала давайте создадим на диске D: файл q.txt в который запишем вопросы, ответы и код правильного ответа в следующем формате
Вопрос
Ответ 1
Ответ2
Ответ3
Код правильного ответа одной цифрой
Для примера, я с помощью стандартного блокнота Windows создам вот такой файл с тремя вопросами
Итак, файл готов, теперь нужно написать программу:
В переменной kol у нас будет копиться количество заданных вопросов, а в переменной ball будет накапливаться количество правильных ответов.
Теперь нам нужно по очереди читать из файла строки, и записывать их в переменные vopros, otvet1, otvet2, otvet3, и kod. Далее печатать очередной вопрос и его ответы, и ожидать от пользователя ввода цифры с вариантом. Если введенная цифру равна переменной kod где у нас храниться код правильного ответа, то добавим к переменной ball единичку.
Мы изначально не знаем сколько в файле q.txt записано вопросов, поэтому будем читать строку с вопросом, а потом проверять прочиталась ли она (не кончился ли файл). Если не прочиталась, значит файл закончился и нужно выйти из цикла с помощью break, а если прочиталась, то можно читать дальше - ответы и код правильного ответа.
Чтение строк из файла производим с помощью f.readline().strip() - эта команда чтения очередной строки, с приклеенной позади неё командой .strip() которая очищает строку от лишних пробелов.
В конце программа выводит ваш результат - количество вопросов на которые вы ответили правильно.
Используя обычный блокнот вы можете поместить в файл с тестом сколько угодно вопросов и ответов, главное соблюдайте заданный нами формат - в один вопрос, три ответа и код верного ответа.
Мы написали несложную программу, которая позволяет проводить тестирование, или создать тест-игру. В следующих уроках мы разберём что такое функции.
Подписывайтесь на мой блог, будет еще много интересных уроков!
Спасибо, уважаемый @pythono за очередной прекрасный урок. Но по поводу тестовых вопросов/ответов - возникли сомнения.
Во-первых, насчёт бабушки Пушкина, Александра Сергеевича. ИМХО: Арина Родионовна, предпочитавшая - если верить поэту - принимать алкоголь кружками, разве была ему бабушкой, а не няней?
Сомнение номер 2: насчёт Наполеона. Он же, вроде, корсиканцем был. Или нет?
Впрочем, непосредственно к программированию это, конечно, отношения не имеет.
Ещё раз спасибо на урок!
)) Спасибо уважаемый @tengri что заметили неточности )) Я составлял вопросы буквально за пару минут, в процессе написания статьи, что в принципе объясняет несоответствия. Ваша внимательность меня очень порадовала, значит не зря пишу уроки - кто-то читает )) Чтобы не смущать подписчиков и самого себя, заменил скриншоты ))
Вам спасибо, уважаемый @pythono!
Уроки эти - полезны и интересны. А мелкие эти неувязки - никак не касающиеся основной сути, тем не менее, могут несколько портить общее впечатление.
Мои Вам наилучшие пожелания!
@pythono Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за общую выплату получил
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
@pythono Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество голосов
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
t3ran13, svetlanaaa, tristamoff, vika-teplo, kondratij, bombo, vlad1m1r, verdon
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"