Spaces:
Running
Running
| import gradio as gr | |
| # Developer and School Info | |
| DEVELOPER = "Hasaan Mahar" | |
| SCHOOL = "Smart School Larkana" | |
| # 20 Questions (Class 5 Sindhi) | |
| questions = [ | |
| {"question": "1) سنڌي ٻولي ڪهڙي ملڪ جي قومي ٻولي آهي؟", | |
| "options": ["ڀارت", "پاڪستان", "بنگله ديش", "نيپال"], | |
| "answer": "پاڪستان"}, | |
| {"question": "2) شاهه عبداللطيف ڀٽائي ڪير هو؟", | |
| "options": ["سائنسدان", "شاعر", "استاد", "ڊاڪٽر"], | |
| "answer": "شاعر"}, | |
| {"question": "3) سنڌي الفابيٽ ۾ ڪيترا اکر آهن؟", | |
| "options": ["24", "52", "36", "40"], | |
| "answer": "52"}, | |
| {"question": "4) درياهه جو مطلب ڇا آهي؟", | |
| "options": ["جبل", "سمنڊ", "ندي", "وڻ"], | |
| "answer": "ندي"}, | |
| {"question": "5) سنڌ جو مشهور شاعر ڪير آهي؟", | |
| "options": ["علامه اقبال", "شاهه عبداللطيف ڀٽائي", "غالب", "فيز"], | |
| "answer": "شاهه عبداللطيف ڀٽائي"}, | |
| {"question": "6) 'ڪتاب' جو جمع ڇا ٿيندو؟", | |
| "options": ["ڪتابون", "ڪتابڙا", "ڪتابي", "ڪتاب"], | |
| "answer": "ڪتابون"}, | |
| {"question": "7) 'استاد' جو مطلب ڇا آهي؟", | |
| "options": ["شاگرد", "معلم", "ڊاڪٽر", "واپاري"], | |
| "answer": "معلم"}, | |
| {"question": "8) سنڌ جي راڄڌاني ڪهڙي آهي؟", | |
| "options": ["لاهور", "اسلام آباد", "ڪراچي", "حيدرآباد"], | |
| "answer": "ڪراچي"}, | |
| {"question": "9) 'پاڻي' جو ضد ڇا آهي؟", | |
| "options": ["باهه", "هوا", "مٽي", "برف"], | |
| "answer": "باهه"}, | |
| {"question": "10) سنڌو درياهه ڪهڙي صوبي مان وهي ٿو؟", | |
| "options": ["پنجاب", "بلوچستان", "سنڌ", "خيبر پختونخوا"], | |
| "answer": "سنڌ"}, | |
| {"question": "11) 'سچ' جو مترادف ڇا آهي؟", | |
| "options": ["ڪوڙ", "حق", "غلطي", "ڊپ"], | |
| "answer": "حق"}, | |
| {"question": "12) 'گل' جو جمع ڇا آهي؟", | |
| "options": ["گلن", "گلڙا", "گليون", "گل"], | |
| "answer": "گلن"}, | |
| {"question": "13) سنڌي ٻولي ڪهڙي رسم الخط ۾ لکي ويندي آهي؟", | |
| "options": ["رومن", "ديوناگري", "عربي", "انگريزي"], | |
| "answer": "عربي"}, | |
| {"question": "14) 'شاگرد' جو مطلب ڇا آهي؟", | |
| "options": ["استاد", "طالب علم", "ڊاڪٽر", "واپاري"], | |
| "answer": "طالب علم"}, | |
| {"question": "15) سنڌ جو قومي لباس ڇا آهي؟", | |
| "options": ["شلوار قميص", "ڪوٽ", "سوٽ", "جينز"], | |
| "answer": "شلوار قميص"}, | |
| {"question": "16) 'امانت' جو مطلب ڇا آهي؟", | |
| "options": ["چوري", "ايمانداري", "نفرت", "غلطي"], | |
| "answer": "ايمانداري"}, | |
| {"question": "17) سنڌي ٻولي جو مشهور ڪتاب ڪهڙو آهي؟", | |
| "options": ["شاهه جو رسالو", "قرآن پاڪ", "ديوان غالب", "گلستان سعدي"], | |
| "answer": "شاهه جو رسالو"}, | |
| {"question": "18) 'رات' جو ضد ڇا آهي؟", | |
| "options": ["ڏينهن", "شام", "صبح", "اوندهه"], | |
| "answer": "ڏينهن"}, | |
| {"question": "19) 'مهرباني' جو مطلب ڇا آهي؟", | |
| "options": ["نفرت", "سٺائي", "ڪاوڙ", "ڊپ"], | |
| "answer": "سٺائي"}, | |
| {"question": "20) سنڌ ۾ ڪهڙو فصل مشهور آهي؟", | |
| "options": ["ڪڻڪ", "چانور", "ڪپهه", "مڪئي"], | |
| "answer": "ڪڻڪ"} | |
| ] | |
| # Function to evaluate test | |
| def evaluate(name, *answers): | |
| if not name.strip(): | |
| return "⚠️ مهرباني ڪري پنهنجو نالو داخل ڪريو." | |
| if None in answers: | |
| return "⚠️ مهرباني ڪري سڀ سوالن جا جواب ڏيو." | |
| score = 0 | |
| for i, answer in enumerate(answers): | |
| if answer == questions[i]["answer"]: | |
| score += 1 | |
| percentage = (score / len(questions)) * 100 | |
| # Optional grade | |
| if percentage >= 80: | |
| grade = "A+ 🌟" | |
| elif percentage >= 60: | |
| grade = "B 👍" | |
| elif percentage >= 40: | |
| grade = "C 🙂" | |
| else: | |
| grade = "Needs Improvement ❗" | |
| result = f""" | |
| 📘 Student Name: {name} | |
| ✅ Correct Answers: {score} / {len(questions)} | |
| 📊 Percentage: {percentage:.2f}% | |
| 🎖 Grade: {grade} | |
| 👨💻 Developer: <span style="color:blue;"><b>{DEVELOPER}</b></span> | |
| 🏫 School: {SCHOOL} | |
| """ | |
| return result | |
| # Gradio UI | |
| with gr.Blocks() as app: | |
| gr.Markdown(f""" | |
| # 📘 Class 5 Sindhi Test System | |
| 🏫 {SCHOOL} | |
| 👨💻 Developed by: <span style="color:blue;"><b>{DEVELOPER}</b></span> | |
| --- | |
| مهرباني ڪري سڀ سوال ڀريو ۽ Submit تي ڪلڪ ڪريو. | |
| """, elem_id="header") | |
| name = gr.Textbox(label="Enter Student Name") | |
| answer_inputs = [] | |
| for q in questions: | |
| radio = gr.Radio(q["options"], label=q["question"]) | |
| answer_inputs.append(radio) | |
| submit_btn = gr.Button("Submit Test") | |
| output = gr.Textbox(label="Result", lines=15) | |
| submit_btn.click( | |
| evaluate, | |
| inputs=[name] + answer_inputs, | |
| outputs=output | |
| ) | |
| app.launch() |