import random import gradio as gr # 定義一個全局變數來存儲剩下的號碼 remaining_numbers = [] def draw_number(max_num): global remaining_numbers if not remaining_numbers: # 如果 remaining_numbers 為空,初始化列表 remaining_numbers = list(range(1, max_num + 1)) if remaining_numbers: # 隨機選出一個號碼並將其從列表中移除 drawn_number = random.choice(remaining_numbers) remaining_numbers.remove(drawn_number) return f"抽中的號碼是: {drawn_number}" else: return "所有號碼已經抽完!" # Gradio 介面 with gr.Blocks() as demo: max_num_input = gr.Number(label="輸入班級座號的最大值", value=30) result = gr.Textbox(label="抽籤結果") draw_button = gr.Button("抽籤") draw_button.click(draw_number, inputs=max_num_input, outputs=result) # 啟動 Gradio 介面 demo.launch()