bellnobu-61167’s blog

夫婦2人で年金生活をしています。

年金生活 AIによる簡単なプログラミング例

プログラムの作成を依頼しました。

依頼文:和暦を西暦に変換するプログラムを作成してください。

結果

プログラミング言語Python(パイソン) 

import unicodedata
import re
import datetime

# 各年号の元年を定義
eraDict = {
    "明治": 1868,
    "大正": 1912,
    "昭和": 1926,
    "平成": 1989,
    "令和": 2019,
}

def japanese_calendar_converter(text):
    # 正規化
    normalized_text = unicodedata.normalize("NFKC", text)
    
    # 年月日を抽出
    pattern = r"(?P<era>{eraList})(?P<year>[0-9]{{1,2}}|元)年(?P<month>[0-9]{{1,2}})月(?P<day>[0-9]{{1,2}})日".format(eraList="|".join(eraDict.keys()))
    date = re.search(pattern, normalized_text)
    
    # 抽出できなかったら終了
    if date is None:
        print("西暦に変換できませんでした。")
        return None
    
    # 年を変換
    for era, startYear in eraDict.items():
        if date.group("era") == era:
            if date.group("year") == "元":
                year = eraDict[era]
            else:
                year = eraDict[era] + int(date.group("year")) - 1
            # date型に変換して返す
            return datetime.date(year, int(date.group("month")), int(date.group("day")))

# 使い方の例
input_japanese_date = "令和3年4月1日"
converted_date = japanese_calendar_converter(input_japanese_date)
if converted_date:
    print(f"{input_japanese_date}{converted_date.year}{converted_date.month}{converted_date.day}日です。")

 

プログラマーがコーヒーブレイクを取っている間に、AIはコードの森を散策し、バグを捕まえ、機能を収穫しています。これは、プログラミングの世界における新しい農業革命とも言えるでしょう。もしAIがプログラミングのすべてを引き受けたら、私たち人間は何をするのでしょうか?おそらく、新しいアイデアを思いつくための時間が増えるでしょうし、もっと創造的な仕事に集中できるようになるかもしれません。しかし、AIが完全には支配できないプログラミングの領域もまだまだあります。日本の産業形態は急には変わらず徐々に変化していくと思われますので現役世代の方も何とか逃げ切れると思います。しかし、プログラミングは高度なレベルで自動生成できる段階に来ています。これからはこれを賢く利用する方が得策でしょう。