昨天為止,我的專案能查詢藥品資訊,包含 劑量建議、注意事項、副作用。但有一個問題:
目前都是在終端機用 input() 輸入藥品名稱,對一般使用者來說有點不友好。
今天,我們就來讓專案升級,先做一個命令列選單 (CLI),再來嘗試用Streamlit 建立簡單的網頁介面 (GUI)。
# app_day26_gui.py
import streamlit as st
from app_day25 import get_drug_info
st.title("💊 智慧用藥小幫手")
drug = st.text_input("輸入藥品名稱", placeholder="例如 ibuprofen")
if st.button("查詢"):
if drug:
info = get_drug_info(drug)
st.subheader("查詢結果")
st.write(f"**藥品名稱:** {info['drug']}")
st.write(f"**劑量建議:** {info['dosage']}")
st.write(f"**注意事項:** {info['note']}")
st.write("**常見副作用:**")
for effect in info["side_effects"][:5]:
st.markdown(f"- {effect}")
else:
st.warning("⚠️ 請輸入藥品名稱再查詢。")
今天把專案從命令列互動 (CLI) 進一步改成圖形化介面 (GUI)。一開始用 CLI 選單確認功能正確,之後再嘗試 tkinter 和 streamlit。tkinter 比較傳統,但不用額外安裝;streamlit 則能快速做出網頁介面,效果更直觀。
這次最大的體會是:程式不只要能跑,還要讓使用者容易操作。從 CLI 到 GUI 的轉換,讓我覺得專案更完整,也更像一個真正能被使用的工具。