はんなりと、ゆるやかに

アジャイル、スクラムが好きが日々から学んだことをアウトプット

驚きのスピード!ChatGPTと一緒にPythonコードでFizzBuzzを簡単に実装

ツールを作ろうと思い立って、久々にコードを書いたのですが、生成AIを使うと異常に早くコードが書けることに驚きました。ツールレベルなら自分でコードを書かず作れるレベルになっているんですね。

例えば、FizzBuzz。以下のプロンプトをChatGPTに渡すと、すぐにコードが返ってきました。

以下の仕様を満たすpythonのコードを書いてください。
1~100までの数字を順番に表示する。ただし、3の倍数の場合は「Fizz」、5の倍数の場合は「Buzz」、3の倍数かつ5の倍数の場合は「FizzBuzz」を表示します。

for i in range(1, 101):
    if i % 15 == 0:
        print("FizzBuzz")
    elif i % 3 == 0:
        print("Fizz")
    elif i % 5 == 0:
        print("Buzz")
    else:
        print(i)

最大値の入力を受け付けるようにすることもお手の物。

最大値は外から入力できるようにしてください。その際に自然数以外入力されたら「自然数を入力してください」というメッセージを表示してください。

def is_natural_number(value):
    """値が自然数(正の整数)かどうかを確認する関数"""
    return value.isdigit() and int(value) > 0

# 最大値をユーザーから入力してもらう
max_value_input = input("最大値を入力してください: ")

if is_natural_number(max_value_input):
    max_value = int(max_value_input)
    
    # 1から最大値までの数字を順番に処理する
    for i in range(1, max_value + 1):
        if i % 15 == 0:
            print("FizzBuzz")
        elif i % 3 == 0:
            print("Fizz")
        elif i % 5 == 0:
            print("Buzz")
        else:
            print(i)
else:
    print("自然数を入力してください")

すごい。