AIでコード作成を補助する方法|Pythonの計算例と確認手順

AIにコードの案を依頼するときは、先に入力、計算式、期待する結果、異常な入力の扱いを決めます。動くように見えるコードでも、単位の取り違えや境界条件の抜けがあり得ます。ここでは、距離と速度から所要時間を求める短いPythonの例で確認手順を示します。

掲載コードはこの記事の説明用に作成し、Python 3.12.14で8種類の入力を実行確認しました。特定のAIサービスの出力を比較した実験ではなく、すべての入力や業務利用での正しさを保証するものでもありません。

目次

コードより先に仕様を書く

項目今回の仕様
入力距離km、速度km/h。数値または数値に変換できる文字列
計算式距離 ÷ 速度 × 60。結果は分
許可する値距離は0以上、速度は0より大きい有限の数
許可しない値負の距離、0以下の速度、非数値、NaN、無限大
範囲外の計算結果が有限でなければValueError

これは一定速度で進む計算です。信号待ち、休憩、道路状況は含みません。実際の移動時間については自転車で1km走る時間の考え方も参照してください。

AIに依頼する場合の文例

Pythonの標準ライブラリだけで、距離kmと速度km/hから所要時間を分で返す関数を作ってください。距離は0以上、速度は0より大きい有限の数に限定します。数値に変換できる文字列も受け付け、非数値、NaN、無限大、計算結果が範囲外になる場合はValueErrorとしてください。1km・12km/hで5分になることと、異常な入力の確認例を示してください。

AIへの入力に、パスワード、APIキー、顧客データ、利用許可のない社内コードを含めないでください。ここでの例は、外部の通信や追加パッケージを必要としません。

実行確認したコード例

import math

def minutes(distance_km, speed_kmh):
    distance = float(distance_km)
    speed = float(speed_kmh)
    if not math.isfinite(distance) or not math.isfinite(speed):
        raise ValueError("有限の数を入力してください")
    if distance < 0 or speed <= 0:
        raise ValueError("距離は0以上、速度は0より大きい数にしてください")
    result = distance / speed * 60
    if not math.isfinite(result):
        raise ValueError("計算できる範囲を超えています")
    return result

print(minutes(1, 12))  # 5.0

floatで数値に変換し、math.isfiniteでNaNと無限大を除外します。次に距離と速度の条件を確認し、計算結果も確認しています。数値に変換できない文字列では、floatがValueErrorを発生させます。

正常な値と異常な値を両方試す

入力(距離, 速度)実行結果
(1, 12)5.0分
(0, 12)0.0分
(1, 0)ValueError
(-1, 12)ValueError
(“abc”, 12)ValueError
(“nan”, 12)ValueError
(1, “inf”)ValueError
(1e308, 1e-308)ValueError

確認日:2026年10月11日。上の表は掲載コードを実行した結果です。浮動小数点の計算には丸め誤差があり、通常の入力でも期待値と小さな差が生じる場合があります。金額や厳密な桁数を扱う計算へ、そのまま流用する例ではありません。

エラーを直したら同じ入力を再確認する

修正を依頼するときは、エラーの内容、使った入力、期待値、実行環境を示します。コードを変更したら、失敗した入力だけでなく、以前通った正常な入力も再確認します。AIが「修正済み」と説明したことだけを完了の根拠にしません。

実際のアプリでは、許可する入力の種類、画面へのエラー表示、権限、依存パッケージ、ライセンスなど、別の確認が必要です。計算例が通ったことと、システム全体が安全に動くことは分けて判断します。

参考資料

Python公式ドキュメント:math.isfinite、組み込み関数float。関数の仕様確認に利用。AIで時間が短縮できたかの測り方は業務効率化の確認方法、情報管理はChatGPTの情報漏洩対策を参照してください。

送信中です

×

※コメントは最大500文字、5回まで送信できます

送信中です送信しました!
免責事項
- 記事内容の正確性には細心の注意を払っていますが、情報の完全性や正確性を保証するものではありません
必ず最新の情報をご確認ください。
- 医療・法律などの個別の判断は、専門家や関係する公式窓口にご相談ください
- 画像には説明用のイラスト等が含まれます。画像だけを実際の出来事の証拠として扱わないでください。文章・画像の権利や情報の利用方針は免責事項をご確認ください
記事内容に事実と異なる記載や修正が必要な箇所がございましたら、お問い合わせフォームよりご連絡ください。速やかに対応いたします。

最後までお読みいただきありがとうございます。
よろしければ、応援クリックをお願いします。

ブログランキング・にほんブログ村へ

人気ブログランキング
人気ブログランキング

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA



reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

目次