![見出し画像](https://assets.st-note.com/production/uploads/images/137284539/rectangle_large_type_2_e8d9f7675d09517f1e1f11aa353e7f77.png?width=1200)
ChatGPT4を使って自分専用アプリを作る挑戦(Python編)_#33
はじめに
お読みいただきありがとうございます。JTC経理DX課長です。
私はちょっとした業務効率化や生活習慣改善というテーマに興味があり、いつも何かないかな、とYoutube、書籍、noteを探索しています。
最近読んだ本で面白い本がありました。
まさにタイトル通りの内容ですが、ChatGPTで色々できることを見つけていくのって、おもちゃで遊んでいるみたいで楽しいですね。
この本はとても実践的で、非IT系の私でも実践できそうなことがたくさん書かれていました。
中でもインスピレーションを受けたのが、プログラムをChatGPTに書かせる方法です。Pythonでアプリを作る、という内容だったと思います。
この本に触発されて以下のやりとりを行い、何となく「動く」「記録できる」「記録結果を確認できる」ところまで、できました。これだけでも、ド文系・非IT系のJTC経理DX課長としては大満足でした。
ちょっと脱線しますが、何かパワポ資料を作るときに、①目次を考えさせる→②目次の内容についてPythonで書き出して、という流れでプロンプトを打つと、装飾はないですがパワポファイルを作ってくれます。結構びっくりします、コレ。
目次の内容と簡単なリード文を作っておけば、それなりのパワポが数十秒で出来上がってしまいますので、プレゼンの構成を考えるときに使ってみるのもアリ。
なかなかいい使い方だな・・と思いました。おすすめプロンプトです(ChatGPT無料版では、できないかもです)。
ChatGPTで、読書録アプリづくりへ挑戦
脱線から戻り、読書録アプリづくりについて書いてみます。
以下のように、ChatGPTに聞いてみました。出力結果もそのまま貼っておきます。
======
(JTC経理DX課長)
読書録アプリを作りたいので、Pythonでアプリを作ってください。タイトル、読了日、おすすめ度、コメントを項目として持ちたいです。
(ChatGPT4)
Pythonで簡単な読書録アプリを作成する方法をご紹介します。このアプリでは、読んだ本のタイトル、読了日、おすすめ度、コメントを記録できるようにします。データはローカルのファイルに保存しますが、データベースやウェブアプリケーションとして拡張することも可能です。
ステップ 1: 必要なライブラリのインポート
このアプリでは、特に外部ライブラリは必要ありませんが、データの保存には標準のjsonライブラリを使用します。
ステップ 2: 読書録のデータ構造の定義
読書録の各エントリは辞書で表し、これらのエントリのリストをファイルに保存します。
ステップ 3: データの読み書き関数の定義
ファイルから読書録のデータを読み込む関数と、読書録にエントリを追加して保存する関数を定義します。
ステップ 4: ユーザーインターフェースの作成
コンソールアプリケーションとして、ユーザーがデータを入力できるようにします。
以下に、上記のステップに基づく簡単なコード例を示します。
pythonCopy code
importjson # 読書録のデータを保存するファイル名data_file = 'reading_log.json'defload_data(): """ファイルから読書録のデータを読み込む"""try: withopen(data_file, 'r', encoding='utf-8') asfile: returnjson.load(file) exceptFileNotFoundError: return[] defsave_data(entries): """読書録にエントリを追加してファイルに保存する"""withopen(data_file, 'w', encoding='utf-8') asfile: json.dump(entries, file, ensure_ascii=False, indent=2) defadd_entry(title, date_read, rating, comments): """読書録に新しいエントリを追加する"""entries = load_data() entries.append({ 'タイトル': title, '読了日': date_read, 'おすすめ度': rating, 'コメント': comments }) save_data(entries) # ユーザーインターフェースdefmain(): whileTrue: print("\n読書録アプリへようこそ!") print("1. 読書録に追加") print("2. 読書録を表示") print("3. 終了") choice = input("選択してください (1/2/3): ") ifchoice == '1': title = input("タイトル: ") date_read = input("読了日 (YYYY-MM-DD): ") rating = input("おすすめ度 (1-5): ") comments = input("コメント: ") add_entry(title, date_read, rating, comments) print("読書録に追加されました。") elifchoice == '2': entries = load_data() forentry inentries: print(f"\nタイトル: {entry['タイトル']}\n読了日: {entry['読了日']}\nおすすめ度: {entry['おすすめ度']}\nコメント: {entry['コメント']}") elifchoice == '3': print("アプリを終了します。") breakif__name__ == "main": main()
このコードは、基本的な機能を持つ読書録アプリの出発点です。時間があるときに、GUIやデータベースサポート、ウェブアプリケーションへの拡張など、さらに機能を追加してみてくださいね。楽しみながらプログラミングのスキルを磨いていきましょう!
======
という出力結果をもとに、テキストエディタでプログラムを書いてみました(完全100%、コピペです)。
別途Pythonのインストール、テキストエディタ(VS Code)のインストールと初期設定が少しかかりますが、これもChatGPTに都度聞いて、30分くらいでできました(伴走者みたいな感覚です)。
まとめ:挑戦結果
ただ、Pythonで作ってみて思ったのは、「・・・使いづらい」。
入力するためのUIを作るところまでたどりつけず、入力画面がコマンドプロンプトの真っ黒な画面。これは当然ながらパソコンからしか操作できません(スマホで操作する方法もあるのかもしれませんが・・)。
スマホ入力画面を作るところまで持っていくには色々ハードルがありそうで、Pythonでのアプリづくりは一旦ストップとします。
いつかSwiftでiPhoneアプリを作ってみたいと思っていますが、今回はここまでにしておきます。
次回は、Google Formsを使った生活習慣アプリづくりへの挑戦について、書いてみます!こちらはかなり成功したので書くのが楽しみです。
ChatGPTでこういう使い方もあるのか、という参考になれば嬉しいです。ド文系のJTC経理DX課長でもできましたので、きっとハードルは低いはずです。他にも無限の遊び方があるのだろうなと思います。いろいろ試行錯誤していきたいです。
お読みいただきありがとうございました。