import gradio as gr import json # JSON с вопросами и правильными ответами json_data = """ { "questions": [ {"text": "Выберите А", "correct_answer": "А"}, {"text": "Выберите Б", "correct_answer": "Б"} ] } """ # Загрузка данных из JSON data = json.loads(json_data) # functions def check(answers): results = [] for i, (answer, question) in enumerate(zip(answers, data['questions']), start=1): correct_answer = question['correct_answer'] result = "✔" if answer == correct_answer else "✖️" results.append(f"{i}: {result}") return "\n".join(results) # css css = """ footer {visibility: hidden !important;} """ # ui with gr.Blocks(css=css) as vui: question_blocks = [] for i, question in enumerate(data['questions'], start=1): with gr.Row(): with gr.Column(): radio = gr.Radio(label=f"Вопрос {i}", choices=["А", "Б", "В"], info=question['text']) question_blocks.append(radio) text_button = gr.Button("Проверить", variant='primary') with gr.Tab("Результаты"): text_output = gr.Markdown("") text_button.click(check, inputs=question_blocks, outputs=[text_output]) #end vui.queue(api_open=False).launch()