Как создавать тесты с выбором ответов?
Например:
x+2=4
А) x=2
B) x=4
C) x=3
D) x = 9
выбрав правильный ответ пишет “Правильно!” и переходит к следующему вопросу, иначе пишет “Ошибка” и предлагает пройти тест с начала.
class Task: def __init__(self,text,correct_variant,a,b,c='',d='',): self.text = text self.variant_of_answer={} list_variant = ['a', 'b', 'c', 'd'] i = 0 for var in (a,b,c,d): if var != '': self.variant_of_answer[list_variant[i]]=var i+=1 self.correct_variant = correct_variant task_list = [] task_list.append(Task("x+2=4",'a','x=2','x=4','x=3','x=9')) task_list.append(Task("2+2*2",'b','8','6')) def display_task(n,task): print("Задача №{}:\n{}".format(n,task.text)) print("Варианты ответа:") for key,value in task.variant_of_answer.items(): print("{}) {}".format(key,value)) def check_variant(task): variant = input("Выберите вариант ответа: ") if variant in (task.variant_of_answer): if variant == task.correct_variant: print("Правильно\n") else: print("Не правильно\nПройти тест сначала?\n") choice = input("Введите да или нет: ") if choice in ('да',"нет"): if choice == "да": test() else: print("Все равно пройдите") test() else: print("это наверно да") test() else: print("Такого варианта нет!Введите маленькую латинскую букву варианта\n") check_variant(task) def test(): n = 0 for task in task_list: n+=1 display_task(n,task) check_variant(task) print("Вы прошли тест.Вы свободны") test()
AD0DE412
однакож накрутили вы )
AD0DE412Вы ошибаетесь, всё сугубо лично для себя и своего пользования. Осталось понять как этот код привязать к оболочке (Tkinter или любой другой) и можно делать любые тесты, не чудо ли это?
да я вам не в упрек (у меня такая же штука) просто если представить лицо препода (или кто там) .. в общем улыбнуло
doza_andНаверное лучше, только вот чем? Вэб совсем не интересует.
Наверное лучше к wxpython или pyQt. А в настоящее время может проще к вебу https://github.com/flexxui/flexx