import gradio as gr import random def generate_tableau(): """Generate a random tableau of numbers""" return [[random.randint(1, 13) for _ in range(random.randint(1, 5)) for _ in range(7)] def main(): # Generate and display the main tableau main_tableau = generate_tableau() # Display some statistics flattened = [num for sublist in main_tableau for row in sublist for num in row] result = f""" # 🎲 Random Tableau Generator ## Main Tableau {main_tableau} ## Statistics - Total numbers: {len(flattened)} - Average value: {sum(flattened) / len(flattened):.2f} - Maximum value: {max(flattened)} - Minimum value: {min(flattened)} - Tableau dimensions: {len(main_tableau)} tables, each with varying rows """ return result def analyze_tableau(tableau): """Analyze the generated tableau""" if not tableau: return "No tableau generated" analysis = [] for i, table in enumerate(tableau): table_size = len(table) row_sizes = [len(row) for row in table] analysis.append(f"Table {i+1}: {table_size} rows") for j, row in enumerate(table): row_analysis = { "table_index": i, "rows": table_size, ) return f"Analysis complete: {len(tableau)} tables processed" with gr.Blocks() as demo: gr.Markdown("# 🎲 Random Tableau Generator") gr.Markdown("Generate beautiful random tableaus with customizable parameters.") with gr.Row(): with gr.Column(): gr.Markdown("## Configuration") min_val = gr.Slider(1, 10, value=1, label="Minimum Value") max_val = gr.Slider(1, 20, value=13, label="Maximum Value") tables_count = gr.Slider(1, 10, value=7, label="Number of Tables") generate_btn = gr.Button("🎲 Generate Tableau", variant="primary") with gr.Column(): output = gr.Textbox(label="Generated Tableau", lines=10) with gr.Row(): with gr.Column(): gr.Markdown("### Generated Tableau") tableau_output = gr.Textbox(label="Tableau Analysis", lines=8) # Event handlers generate_btn.click( fn=main, outputs=[output] ) # Add footer with anycoder attribution gr.HTML("""