無料でできる!Python初心者が作ったキャラ占いアプリ【前編】
Python初心者でもできた!無料キャラ占いアプリを作ってみた【前編】
「AI × Python」なんて聞くと、専門知識がないと無理そうに思えますよね。
でも実は、初心者でもたった数十行で占いアプリを作れると知って試してみました。
なぜ占い?
占いは誰でも楽しめるし、入力もシンプル。今回は「今の気分を1語入力すると、かわいいキャラが出てくる無料アプリ」を作ることにしました。
お金のかかるAI APIは使わず、完全無料で遊べるようにしています。
使うもの
- Python(無料でダウンロード可能)
- Streamlit(Webアプリを作れるライブラリ)
- 標準ライブラリのrandom(ランダムで結果を返す)
コード全体
実際に書いたコードはこちらです。コピペして動かすだけでOK。
import streamlit as st
import random
st.set_page_config(page_title="かわいいキャラ占い(無料版)", page_icon="🐣")
st.title("🐣 今の気分 → かわいいキャラ占い(無料版)")
MOOD_MAP = {
"眠い": {"emoji": "😴", "name": "ねむねむコアラ",
"desc": "ふかふか枕が相棒。休むほど回復するタイプ。"},
"元気": {"emoji": "💪", "name": "てきぱきリス",
"desc": "小さな体でテキパキ動く働き者。"},
"不安": {"emoji": "🕯️", "name": "そわそわウサギ",
"desc": "小さな灯りで道を照らす見張り番。"},
"うれしい": {"emoji": "🐼", "name": "ハッピーパンダ",
"desc": "笑顔で周りをほんわかにする達人。"},
"悲しい": {"emoji": "🐧", "name": "しょんぼりペンギン",
"desc": "氷の上でも転ばない粘り強さが魅力。"},
}
ADVICE_POOL = [
"小さなごほうびを自分にどうぞ。",
"深呼吸3回で気持ちリセット!",
"好きな音楽を1曲だけ聴こう。",
"5分だけ外の空気に触れてみて。",
"今日の自分をやさしく褒めよう。",
]
mood = st.text_input("今の気分を1語だけ(例:眠い/元気/不安 など)")
if st.button("占う"):
key = None
for k in MOOD_MAP.keys():
if k in mood:
key = k
break
if key is None:
key = random.choice(list(MOOD_MAP.keys()))
item = MOOD_MAP[key]
st.markdown(f"### {item['emoji']} {item['name']}")
st.write(item["desc"])
st.success("今日のひとこと:" + random.choice(ADVICE_POOL))
st.caption("※ この無料版はAIを使わず、ルールベースで動いています。")
ここまでの感想
書いてみて驚いたのは、思ったより短いコードで動いたことです。
難しい数式やAIの知識はゼロ。単語にキャラを結びつけて表示するだけでも立派なアプリになりました。
次回は実際に動かしてみた画面や、占いを体験した感想を書きます。