【初心者向け】ChatGPTでPythonコーディングに挑戦:すぐ使えるプロンプト付き

ChatGPTは、会話するように質問や指示をするだけでプログラミングができる画期的なツール。初心者でも簡単にPythonのようなプログラミング言語の基本的な構文や機能を学ぶことが可能です。

この記事では、ChatGPTを使ってPythonコードを出力するプロンプトをいくつか紹介します。

【ChatGPT】簡単な演算を行うPythonコードを出力するプロンプト

簡単な演算を行うPythonコードを出力するためには、ChatGPTが非常に便利です。今回は一例として、半径を指定して円の面積を計算するPythonコードを出力してみましょう。

プロンプトは以下の通りです。「半径を指定して円の面積を計算するPythonのコードスニペットを作成してください」

試しにこのコードが正しく動くか、Google Colaboratooryで実行してみましょう。

計算ができました。今回はあくまで簡単な演算でしたが、より複雑な計算処理を行う際も、同様の形でPythonコードを出力できます

【ChatGPT】数値データをグラフ化するPythonコードを出力するプロンプト

数値データをグラフ化することも可能です。事前にいくつかの数値データを用意しておきましょう。今回は以下のリストを使用します。

・values = [12, 25, 35, 15, 40, 8, 21]

「Matplotlib」というライブラリを利用したプロンプトです。プロンプトは以下の通りです

・プロンプト
Matplotlibを使って値のリストから棒グラフを作成するPythonコードスニペットを生成してください。

#値のリスト
values = [12, 25, 35, 15, 40, 8, 21]

こちらもGoogle Colabで実行してみましょう。

正しく棒グラフとしてPythonコードの実行結果が示されています

【応用編】電卓アプリのクラス図とコードを出力するプロンプト

ChatGPTの良いところは、これまで簡単には挑戦できなかったアプリケーション開発にも挑みやすい点です。AIがアシスタントとなって、適宜コードを出力したりアドバイスをくれます。

先ほど、演算など数値に関するコードを立て続けに扱ってきたので、応用編として「電卓アプリ」を開発してみましょう。

今回の要件定義は以下の通り。

・加算、減算、乗算、除算の方法を含む計算を管理するクラスを持つ、シンプルな電卓アプリケーションを設計する

この要件に沿って、必要な機能とクラスを整理し、システムを「クラス図」にまとめて出力。そのクラス図に沿って、Pythonコードを出力してみます。なお今回は「公開する」ことを目的としていないため、フロントエンドを開発してホストするといったことは行いません。具体的にはコマンドラインツールとして最低限の機能を実装します。

実装に必要な機能とクラスを整理する

アプリケーション開発では、まず必要な「機能」と「クラス」をリストアップすることが必要です。これらに抜け漏れがあると、機能の実装漏れやエラーが起こりやすくなるためです。

以下のプロンプトで、まず機能とクラスを一覧化します。Pythonコードにするための下準備に該当します。

加算、減算、乗算、除算、入力値の表示とクリア、計算結果の表示など必要な機能が揃っています

・プロンプト
以下の「要件定義」に沿って必要な機能、クラスをリストアップしてください

# 要件定義
加算、減算、乗算、除算の方法を含む計算を管理するクラスを持つ、シンプルな電卓アプリケーションを設計する

クラス図にまとめる

出力された機能、クラスの一覧はあくまで箇条書きに過ぎないため、ややシステムの全体像がわかりのくいです。そこで「PlantUML」というクラス図やシーケンス図を出力可能なサービスを使って、図にまとめてみましょう。

図の出力には、PlantUMLの記法に従う必要があるため、PlantUMLの形式でクラス図をまとめ直してもらいましょう。

以下のプロンプトで「クラス図」を出力できます

・プロンプト
先ほど出力した機能、クラスの一覧を以下の出力形式に沿って再出力してください
なお出力に当たって、要件を再度参照する必要がある場合は「要件定義」を再度参照してください

# 出力形式:
PlantUMLにペーストすることで、クラス図を作成可能な形式

# 要件定義
加算、減算、乗算、除算の方法を含む計算を管理するクラスを持つ、シンプルな1ページの電卓アプリケーションを設計する

必要な機能とクラスがどこでどのように繋がっていて、各機能がどのような役割を持っているのか非常に分かりやすくなりました。こうした図があれば開発に迷うこともありません

クラス図を元にアプリケーションのPythonコードのたたき台を出力

以下のプロンプトで、整理したクラス図をベースにPythonコードを出力できます。

・プロンプト
出力した電卓アプリのクラス図をベースに、Pythonコードを出力してください

Python製の電卓アプリのコードが出力されました。前掲のクラス図をベースに開発されています

筆者が少しだけコードをアレンジして、Google Colabで動作確認をしてみました。

「1.Add」「2.Substract」など計算メニューが用意され、計算結果の「5.Clear」や「0.Exit」など必要な機能も備わっています。実際に計算を行ってみると少し動作が不安定でしたが、短時間で開発されたAI製のPythonアプリとしては十分すぎる出来です

今回出力したPythonコードの一覧

最後に、本記事で紹介したPythonコードを一覧でご紹介します。

半径を指定して円の面積を出力するコード

import math

def calculate_circle_area(radius):
    area = math.pi * (radius ** 2)
    return area

# 半径を指定して円の面積を計算する
radius = 5 # 例: 半径5
circle_area = calculate_circle_area(radius)
print(f”半径 {radius} の円の面積は {circle_area} です。”)

値の一覧から棒グラフを出力するコード

import matplotlib.pyplot as plt

# 値のリスト
values = [12, 25, 35, 15, 40, 8, 21]

# x軸のラベル
x_labels = [f’Label {i}’ for i in range(1, len(values) + 1)]

# 棒グラフを作成
plt.bar(x_labels, values)

# グラフのタイトルと軸のラベルを設定
plt.title(‘棒グラフ’)
plt.xlabel(‘カテゴリ’)
plt.ylabel(‘値’)

# グラフを表示
plt.show()

電卓アプリのPythonコード

class Calculator:
    def add(self, a, b):
        return a + b

    def subtract(self, a, b):
        return a – b

    def multiply(self, a, b):
        return a * b

    def divide(self, a, b):
        if b == 0:
            raise ZeroDivisionError(“Cannot divide by zero”)
        return a / b

    def clear(self):
        pass

    def display_result(self, result):
        print(f”Result: {result}”)

class Button:
    def __init__(self, label, action):
        self.label = label
        self.action = action

    def on_click(self):
        return self.action()

class InputField:
    def get_value(self):
        return float(input(“Enter a number: “))

    def set_value(self, value):
        pass

    def clear_value(self):
        pass

def main():
    calculator = Calculator()
    input_field = InputField()

    operations = {
        “+”: calculator.add,
        “-“: calculator.subtract,
        “*”: calculator.multiply,
        “/”: calculator.divide,

    }

    while True:
        num1 = input_field.get_value()
        operator = input(“Enter an operator (+, -, *, /) or ‘q’ to quit: “)
        if operator == “q”:
            break
        num2 = input_field.get_value()

        
        if operator in operations:
            result = operations[operator](num1, num2)
            calculator.display_result(result)
        else:
            print(“Invalid operator”)

if __name__ == “__main__”:
    main()

まとめ

この記事では、初心者向けにChatGPTを使ってPythonコーディングに挑戦する方法を紹介しました。簡単な演算や数値データのグラフ化、電卓アプリのクラス図とコードの出力に関するプロンプトを提供しました。これらのプロンプトを使用して、Pythonでのプログラミングを楽しみながら学ぶことができます。今回紹介したプロンプトを参考に、Pythonコーディングのスキルを向上させていきましょう。

※サムネイル画像(Image:Arsenii Palivoda / Shutterstock.com

オトナライフ編集部
iPhone・Android・SNS・パソコン関連・キャッシュレス、QRコード決済など、さまざまな情報を独自の視点や切り口で発信するニュースサイト
X/Twitter:@otonalife
YouTube:OTONALIFE Ch

iPhone/Androidスマホやキャッシュレス決済、SNS、アプリに関する情報サイト[オトナライフ]

関連記事

TOPICS
スキル・ビジネス最新記事

RANKINGランキング

6:00更新