見出し画像

最高の金持ちと結婚する方法(AIが最善・完璧なプログラムを生成)

正直、結果に驚いた…

AIはほぼ最善・完璧に動作するプログラムを自動生成
(変数名等も、こちらの意図を読み解くように英訳してる)

※昨日の共通テスト情報モニター模試で出題された内容を実際にシミュレーションさせるPythonプログラムが自動生成された。
(最高の人 ⇒ 数値化しやすいよう「金」に置き換え)


AI(ChatGPT)に指示(入力)した文章

花子さんは金持ちと結婚したいと考えています。
花子さんは金持ちと結婚するための戦略を考え、
その戦略を検証するシミュレーションするプログラムを作成することにしました。

花子さんの戦略と実行したいシミュレーションプログラムの流れ:
①0から1000までの間の乱数を10個発生させ、リスト「候補者年収」に入れる。
②リスト「候補者年収」の前半40%で最も大きい値を変数「基準年収」に入れる。
③リスト「候補者年収」の前半40%以降からひとつづつ取り出す。
もし、取り出した値が「基準年収」以上ならば、その値を「結婚相手」に入れ、ループを抜ける。
ループを抜けられず、リスト「年収」の最後になったら、その値を「結婚相手」に入れる。
④「候補者年収」「基準年収」「結婚相手」をわかりやすくそれぞれ表示する

Pythonで花子さんの考える戦略をシミュレーションするプログラムを作成してください。

AIが自動生成したPythonプログラム:

import random

# 乱数を10個発生させ、リスト「候補者年収」を作成する
candidate_incomes = [random.randint(0, 1000) for _ in range(10)]

# リスト「候補者年収」の前半40%で最も大きい値を「基準年収」に入れる
reference_income = max(candidate_incomes[:int(len(candidate_incomes) * 0.4)])

# リスト「候補者年収」の前半40%以降からひとつづつ取り出す
for income in candidate_incomes[int(len(candidate_incomes) * 0.4):]:
    # もし、取り出した値が「基準年収」以上ならば、その値を「結婚相手」に入れ、ループを抜ける
    if income >= reference_income:
        spouse_income = income
        break

# ループを抜けられず、リスト「年収」の最後になったら、その値を「結婚相手」に入れる
else:
    spouse_income = candidate_incomes[-1]

# 「候補者年収」「基準年収」「結婚相手」をわかりやすく表示する
print(f"候補者年収: {candidate_incomes}")
print(f"基準年収: {reference_income}")
print(f"結婚相手: {spouse_income}")


生成したプログラムの実行結果:

候補者年収: [306, 803, 690, 209, 523, 961, 765, 111, 338, 152]
基準年収: 803
結婚相手: 961

※AI花子は戦略にのっとり、最高年収の男を釣り上げている・・・

公務員で受取出来ませんので、お気持ちだけで大丈夫です~