ChatGPTを使ったプログラミング学習。初心者でもPythonのGUIアプリが作れるか?

雑記

最近はChatGPTが面白くて多用しています。

ブログ記事の構成などにも使えます。

ファクトチェックは必要と思いますが、非常に有用なツールです。

今回はプログラミングの話です。

ChatGPTに使い方として、プログラミングにおおいに使えるのが特徴と思います。

ただ答えが知りたいだけであれば、siriなどに聞くのと大差がないと思ってます。

siriとの圧倒的な差は、言語から、あるプログラムを作成してくれるです。

私個人は以前にpythonを独学して、GUIアプリを簡単なのを作ったことがあります。

うまくいかなかったり、ちょっと作動できなかったりして、頓挫した経験があります。

医療の診断アルゴリズムなどを数値化したプログラムなどを作成したかったのですが、できませんでした。

頭で想像したプログラムがあったとしても、以前は自分で打ち込んであってるか確認しないといけなかったです。

しかし今は、こんな感じのプログラムを作っての一言で、プログラムが完成するので、初心者プログラマーには非常に便利だと思います。

込み入ったプログラムはできませんが、簡単なものであればAIの力を借りて、自作のデスクトップアプリは気軽に作れると思います。

まずはchatGPTとは何か簡単に説明して、プログラミングの話をしていきたいです。

ChatGPTとは何か?

ChatGPTとは、OpenAIが開発した自然言語処理に特化したAIモデルの一つで、トークン単位での文脈を考慮した言語生成を行うことができます。大規模なデータセットを用いた学習により、高い自然さを持った文章生成が可能であることが挙げられます。

ChatGPTの機能と応用例としては、文章生成や文章要約、質問応答、文書分類、翻訳などの自然言語処理タスクに応用されています。AIアシスタントの開発や、チャットボットの開発にも利用されています。

プログラミングとは何か?

プログラミングとは、コンピューターに対して指示を与えるための言語を使用し、それを記述することで、コンピューターが動作するプログラムを作成することです。

プログラミング言語の種類としては、C言語、Java、Python、JavaScript、Ruby、PHPなど多くのプログラミング言語があります。それぞれのプログラミング言語には、特定の用途に適した特性があります。

私個人はPythonを用いてGUIでのアプリ作成をしたいと考えています。

ChatGPTは、プログラミング学習につながる?

ChatGPTを用いた自然言語処理により、プログラミングに関する質問や課題を自然言語で説明し、回答を得ることができます。

これにより、プログラミング初心者でも自分の疑問や理解不足を解消し、プログラミングの学習効率を高めることができます。

この初心者でも気軽にプログラミングがあっているのか聞けて、さらに迅速に添削してくれる点は、プログラミング学習に非常に有用と思います。

ChatGPTを用いたプログラミング学習アプリやツールも開発されています。ChatGPTを用いた自動プログラミング解説システムや、ChatGPTを用いたプログラミング学習チャットボットなどがあります。

これらのツールを用いることで、より手軽かつ効果的にプログラミングを学ぶことができます。

chatGPTでアプリも作れる?

ChatGPT自体は、アプリケーションを作成するためのプログラミング言語や開発フレームワークではありません。

ChatGPTを利用することで、アプリケーションの開発や機能の向上に役立つことがあります。

アプリを作るなら、それに対応した環境を準備することは必要です。

私はpythonの環境を構築しています。

ChatGPTがあると気軽にコードを覚えずにプログラムができる?

プログラミングでは、コードを書くための文法や構文規則、プログラミング言語の特性やライブラリなどを学ぶ必要があります。

ChatGPTを使うと、自然な言葉でプログラムを作成することができるため、コードを覚えることに集中する必要がありません。

初心者にとって、プログラミングを始める上で敷居が低くなります。

上述しましたが、こんな感じのプログラム作って、という指令だけで簡単に作ってくれます。

実際にChatGPTにプログラムを聞いてみる。

複利の計算プログラムを作ってみました。

pythonのプログラミング学習はして環境も構築しておりますが、コードなどは一切覚えてないです。

それでも簡単なアプリは作れます。

さて、複利は株式や投資信託などをするなら非常に重要な概念です。

もちろんネットで調べたら計算サイトはありますが、自分でコードを作ると何かと拡張できるの便利かと思います。

ChatGPTに、GUIで複利の計算プログラム作って、原本と利率を入力してと入力しました。

すぐにコードを書いてくれます。

(# coding: utf-8)

import tkinter as tk

def calculate_interest():

    principal = float(principal_entry.get())

    rate = float(rate_entry.get())

    years = int(years_entry.get())

    compound_per_year = int(compound_per_year_entry.get())

    amount_list = [principal * (1 + (rate / compound_per_year)) ** (compound_per_year * i) for i in range(years+1)]

    result_label.config(text=”Compound interest over 10 years: \n” + “\n”.join([“Year {}: {:.2f}”.format(i, amount_list[i]) for i in range(len(amount_list))]))

# GUIの作成

root = tk.Tk()

root.title(“Compound Interest Calculator”)

principal_label = tk.Label(root, text=”Principal”)

principal_label.pack()

principal_entry = tk.Entry(root)

principal_entry.pack()

rate_label = tk.Label(root, text=”Rate of Interest”)

rate_label.pack()

rate_entry = tk.Entry(root)

rate_entry.pack()

years_label = tk.Label(root, text=”Number of years”)

years_label.pack()

years_entry = tk.Entry(root)

years_entry.pack()

compound_per_year_label = tk.Label(root, text=”Compounded per year”)

compound_per_year_label.pack()

compound_per_year_entry = tk.Entry(root)

compound_per_year_entry.pack()

calculate_button = tk.Button(root, text=”Calculate”, command=calculate_interest)

calculate_button.pack()

result_label = tk.Label(root, text=””)

result_label.pack()

root.mainloop()

これで起動させると、以下のデスクトップアプリが完成しました。

このプログラムでは、4つの入力フィールドと1つの計算ボタンがあります。

原本(principal)、利率(Rate of interest)、年数、および1年あたりの複利計算回数を入力し、計算ボタンをクリックすると、結果が表示されます。

例えば、原本が1000ドル、年利率が5%、年数が10年、複利計算回数が1回の場合、計算結果は1628.89ドルになります。

違うサイトで確認しましたが、計算はあっていました。

さらにプログラムを追加する

例えば10年間やったら、毎年の金額を知りたいと入力します。

(# coding: utf-8)

import tkinter as tk

def calculate_interest():

    principal = float(principal_entry.get())

    rate = float(rate_entry.get())

    years = int(years_entry.get())

    compound_per_year = int(compound_per_year_entry.get())

    amount = principal * (1 + (rate / compound_per_year)) ** (compound_per_year * years)

    result_label.config(text=”Compound interest after {} years: {:.2f}”.format(years, amount))

# GUIの作成

root = tk.Tk()

root.title(“Compound Interest Calculator”)

principal_label = tk.Label(root, text=”Principal”)

principal_label.pack()

principal_entry = tk.Entry(root)

principal_entry.pack()

rate_label = tk.Label(root, text=”Rate of Interest”)

rate_label.pack()

rate_entry = tk.Entry(root)

rate_entry.pack()

years_label = tk.Label(root, text=”Number of years”)

years_label.pack()

years_entry = tk.Entry(root)

years_entry.pack()

compound_per_year_label = tk.Label(root, text=”Compounded per year”)

compound_per_year_label.pack()

compound_per_year_entry = tk.Entry(root)

compound_per_year_entry.pack()

calculate_button = tk.Button(root, text=”Calculate”, command=calculate_interest)

calculate_button.pack()

result_label = tk.Label(root, text=””)

result_label.pack()

root.mainloop()

で入力すると,

こんな感じになります。

このプログラムでは、原本、利率、および複利計算回数に基づいて、10年間の各年の複利金額を計算し、結果を表示しています。

まとめ

ChatGPTを用いて、簡単なデスクアップアプリを作ってみました。

私は完全にプログラマーとしては初心者ですが、ChatGPTを使って言語のみで作成することができます。

非常に画期的です。

気軽にこんな感じのアプリがあったらいいなと思ったら、ChatGPTを使えばある程度作ってくれると思います。

アウトラインを作成して、より上手なプログラマーの方に聞いてもいいのかもしれません。

ただ以前に、ガンマ計算のアプリを作ろうと思ったのですが、計算がうまくあっていませんでした。

簡単にコードを作ってくれますが、正誤は自身で確認する必要があると思います。

ChatGPTはプログラミングの初心者の強い味方と感じました。

以上参考になれば幸いです。

コメント

タイトルとURLをコピーしました