Spaces:
Sleeping
Sleeping
import gradio as gr | |
import random | |
# Image filenames | |
wordcloud_images = ["wordcloud_intro.png", "wordcloud_body.png", "wordcloud_conclusion.png"] | |
scrambled_images = ["image1.png", "image2.png", "image3.png", "image4.png", "image5.png", "image6.png"] | |
correct_order = ["image5.png", "image1.png", "image6.png", "image2.png", "image4.png", "image3.png"] | |
# Randomly shuffle the scrambled images | |
random.shuffle(scrambled_images) | |
# Function to check the order of images | |
attempts = 3 | |
def check_sequence(*images): | |
global attempts | |
if list(images) == correct_order: | |
attempts = 3 | |
return "Wow! Good job! :)" | |
else: | |
attempts -= 1 | |
if attempts > 0: | |
return f"Oops! Would you try again? You have {attempts} attempts left." | |
else: | |
attempts = 3 | |
return "Oops! No more attempts left. Please look at the WordCloud images carefully and try again." | |
# Gradio interface | |
with gr.Blocks() as demo: | |
gr.Markdown("## Pre-reading Activity: Image Sequencing") | |
gr.Markdown("### Look below at the Wordcloud images of the story-intro, body, and conclusion:") | |
with gr.Row(): | |
for img in wordcloud_images: | |
gr.Image(img, label=img.split('.')[0]) | |
gr.Markdown("### Here are the six scrambled images of the story:") | |
with gr.Row(): | |
for img in scrambled_images: | |
gr.Image(img, label=img.split('/')[-1]) | |
gr.Markdown("### Now, can you select the images in the correct order?") | |
image_inputs = [gr.Dropdown(choices=scrambled_images, label=f"Image {i+1}") for i in range(6)] | |
result = gr.Textbox(label="Feedback", interactive=False) | |
check_button = gr.Button("Check Order") | |
check_button.click(check_sequence, inputs=image_inputs, outputs=result) | |
demo.launch() | |