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: {DEVELOPER}
🏫 School: {SCHOOL}
"""
return result
# Gradio UI
with gr.Blocks() as app:
gr.Markdown(f"""
# 📘 Class 5 Sindhi Test System
🏫 {SCHOOL}
👨💻 Developed by: {DEVELOPER}
---
مهرباني ڪري سڀ سوال ڀريو ۽ 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()