見出し画像

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課長でもできましたので、きっとハードルは低いはずです。他にも無限の遊び方があるのだろうなと思います。いろいろ試行錯誤していきたいです。

お読みいただきありがとうございました。

この記事が気に入ったらサポートをしてみませんか?