import gradio as gr | |
# Function to update the student numbers dropdown based on the selected class | |
def update_dropdown(class_prefix): | |
# Check if a class prefix is selected | |
if class_prefix: | |
# Generate student numbers for the selected class | |
student_numbers = [f"{class_prefix}{str(i).zfill(2)}" for i in range(1, 41)] | |
return student_numbers | |
else: | |
# Return an empty list if no class prefix is selected | |
return [] | |
# List of class options for the dropdown | |
class_options = ["5H", "5E", "5RS"] | |
# Create the Gradio interface with two dropdowns | |
with gr.Blocks() as demo: | |
with gr.Row(): | |
class_dropdown = gr.Dropdown(label="Class", choices=class_options) | |
student_dropdown = gr.Dropdown(label="Student", choices=[]) | |
# Update student dropdown when class dropdown changes | |
class_dropdown.change(fn=update_dropdown, inputs=class_dropdown, outputs=student_dropdown) | |
# Run the app | |
demo.launch() |