iT邦幫忙

2025 iThome 鐵人賽

DAY 20
0

前言

昨天我完成了單一藥品查詢,今天則要升級系統,讓它能夠比較兩種藥物的差異。這個功能在現實生活中特別實用,例如很多人會問:「普拿疼跟阿司匹林有什麼不同?」

我們今天的目標,就是建立一個 藥品比較工具,讓使用者可以輸入兩個藥名,系統自動輸出一份清楚的比較報告,包含 用途、副作用、注意事項。

實作過程

1.設計資料表

我在 SQLite 裡建立 medicine 資料表,用來存放藥品的基本資訊:

CREATE TABLE IF NOT EXISTS medicine (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT UNIQUE,
    usage TEXT,
    side_effects TEXT
);

然後我先手動加入兩筆藥物資料:

  • 普拿疼 (Acetaminophen)

用途:止痛、退燒

副作用:噁心、肝臟損傷(過量時)

  • 阿司匹林 (Aspirin)

用途:止痛、退燒、抗血栓(預防心肌梗塞、中風)

副作用:腸胃不適、胃潰瘍、出血風險

2.撰寫比較函式

核心程式和昨天類似:

1.先嘗試從資料庫查詢。

2.如果查不到,就請 AI 自動補充。

def compare_medicines(name1, name2):
    info1 = get_medicine_info(name1)
    info2 = get_medicine_info(name2)

    if not info1 or not info2:
        return generate_comparison(name1, name2)

    comparison = f"""
     藥品比較報告
    =========================
    1. {info1['name']}
       - 用途:{info1['usage']}
       - 副作用:{info1['side_effects']}
    
    2. {info2['name']}
       - 用途:{info2['usage']}
       - 副作用:{info2['side_effects']}
    """
    return comparison

測試成果

這次我輸入的是「普拿疼 vs 阿司匹林」。輸出結果如下:

 藥品比較報告
=========================
1. 普拿疼
   - 用途:止痛、退燒
   - 副作用:噁心、肝臟損傷(過量時)

2. 阿司匹林
   - 用途:止痛、退燒、抗血栓(預防心肌梗塞、中風)
   - 副作用:腸胃不適、胃潰瘍、出血風險

心得

今天的成果讓我很有成就感。對一般人來說,同類藥物的比較是非常常見的需求,特別是止痛藥類,市面上常常有多種選擇。

透過這個比較工具:

  • 使用者可以快速了解兩種藥的差異。

  • 我們保留了專業資料的嚴謹性,也用清楚的格式幫助理解。

  • 甚至還能延伸到「比較三種藥」或「比較副作用嚴重性」的進階功能。

接下來,我會繼續強化互動性,讓這個工具更貼近實際應用需求 。


上一篇
Day 19:新增常見問與答模組
下一篇
Day 21:使用者輸入症狀 → AI 建議可能藥品
系列文
AI 藥師助手:打造人人都看得懂的藥品查詢系統22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言