circle / app.py
migo0722's picture
Create app.py
d5e5818 verified
import gradio as gr
import random
# 晚餐清單,每個選項包含名稱和圖片連結
# 圖片連結可以是你自己的圖片庫,或是來自網路上的公開圖片
dinner_options = {
"紅燒牛肉麵": "https://images.unsplash.com/photo-1563823439066-88b901614f04?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb",
"蒜香奶油蝦義大利麵": "https://images.unsplash.com/photo-1627878347895-df5698b67272?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb",
"日式豬排咖哩飯": "https://images.unsplash.com/photo-1548694086-63d08f5d0232?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb",
"麻婆豆腐": "https://images.unsplash.com/photo-1596796530661-d7072a394879?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb",
"三杯雞": "https://images.unsplash.com/photo-1563823439066-88b901614f04?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb",
# 你可以從這裡開始增加更多選項,確保至少有50個!
# 記得為每道菜換上不同的圖片連結
}
# 挑選晚餐的函式
def pick_dinner():
# 從字典中隨機挑選一組鍵值對 (晚餐名稱, 圖片連結)
dish, image_url = random.choice(list(dinner_options.items()))
return f"今晚吃 **{dish}**!", image_url
# 建立 Gradio 介面
with gr.Blocks(theme=gr.themes.Soft()) as demo:
gr.Markdown("# 🍜 晚餐挑選器")
gr.Markdown("選擇困難?交給我來決定你今晚要吃什麼!")
with gr.Row():
with gr.Column(scale=1):
# 建立一個按鈕,點擊後觸發 pick_dinner 函式
btn = gr.Button("隨機挑選")
with gr.Column(scale=2):
# 顯示結果的文字框
output_text = gr.Markdown()
# 顯示結果圖片的圖片框
output_image = gr.Image(label="圖片參考", interactive=False)
# 將按鈕的點擊事件與函式和輸出元件連結
btn.click(
fn=pick_dinner,
outputs=[output_text, output_image]
)
if __name__ == "__main__":
demo.launch()