Найти - Пользователи
Полная версия: Создание теста с выбором ответов
Начало » Python для новичков » Создание теста с выбором ответов
1 2 3
oDoDo
Как создавать тесты с выбором ответов?
Например:
x+2=4
А) x=2
B) x=4
C) x=3
D) x = 9

выбрав правильный ответ пишет “Правильно!” и переходит к следующему вопросу, иначе пишет “Ошибка” и предлагает пройти тест с начала.
xam1816
 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
однакож накрутили вы ) как человек это будет сдавать (предположу что это ему не для себя) то этож палево (тут ооп во все поля а он(она) базу не знает)
xam1816
AD0DE412
однакож накрутили вы )

я больше для себя делал,тоже учусь
AD0DE412
да я вам не в упрек (у меня такая же штука) просто если представить лицо препода (или кто там) .. в общем улыбнуло
oDoDo
AD0DE412
да я вам не в упрек (у меня такая же штука) просто если представить лицо препода (или кто там) .. в общем улыбнуло
Вы ошибаетесь, всё сугубо лично для себя и своего пользования. Осталось понять как этот код привязать к оболочке (Tkinter или любой другой) и можно делать любые тесты, не чудо ли это?
doza_and
Наверное лучше к wxpython или pyQt. А в настоящее время может проще к вебу
https://github.com/flexxui/flexx
oDoDo
doza_and
Наверное лучше к wxpython или pyQt. А в настоящее время может проще к вебу https://github.com/flexxui/flexx
Наверное лучше, только вот чем? Вэб совсем не интересует.
oDoDo
Можете посоветовать визуальные редакторы для создания интерфейса для wxpython или pyQt?
Rafik
Посмотри вот это.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB