Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import pandas as pd | |
| import random | |
| # Hostels and rooms | |
| hostels = ["Hostel A", "Hostel B", "Hostel C"] | |
| rooms = list(range(1, 21)) # 20 rooms per hostel | |
| # DataFrame to store allotments | |
| allotments = pd.DataFrame(columns=["Name", "Roll No", "Father's Name", "Hostel", "Room No"]) | |
| # Function to allot hostel and room | |
| def allot_hostel(name, roll_no, father_name): | |
| global allotments | |
| # Check if already allotted | |
| existing = allotments[allotments["Roll No"] == roll_no] | |
| if not existing.empty: | |
| return f"Already allotted: {existing.iloc[0]['Hostel']} - Room {existing.iloc[0]['Room No']}" | |
| # Random hostel & room | |
| hostel = random.choice(hostels) | |
| room = random.choice(rooms) | |
| # Save in DataFrame | |
| new_row = pd.DataFrame([[name, roll_no, father_name, hostel, room]], | |
| columns=allotments.columns) | |
| allotments = pd.concat([allotments, new_row], ignore_index=True) | |
| return f"Allotted: {hostel}, Room {room}" | |
| # Function to show all allotments | |
| def show_allotments(): | |
| if allotments.empty: | |
| return "No allotments yet." | |
| return allotments | |
| # Gradio UI | |
| with gr.Blocks() as demo: | |
| gr.Markdown("## 🏠 Hostel Allotment System") | |
| with gr.Row(): | |
| name = gr.Textbox(label="Student Name") | |
| roll_no = gr.Textbox(label="Roll Number") | |
| father_name = gr.Textbox(label="Father's Name") | |
| allot_btn = gr.Button("Allot Hostel") | |
| output = gr.Textbox(label="Allotment Result") | |
| show_btn = gr.Button("Show Allotted Data") | |
| table = gr.Dataframe(label="Allotment Records") | |
| allot_btn.click(allot_hostel, inputs=[name, roll_no, father_name], outputs=output) | |
| show_btn.click(show_allotments, outputs=table) | |
| demo.launch() |