class Critic:
def __init__(self, name, age, gender, field, personality):
self.name = name
self.age = age
self.gender = gender
self.field = field
self.personality = personality
self.comment = ''
def print_info(self):
return f"{self.name}({self.age}歳、{self.gender}、{self.field}評論家、性格:
{self.personality})"
# Define the critics in an array
critics = [
Critic("田中太郎", 45, "男性", "映画", "厳格で冷静な分析が得意"),
Critic("山本花子", 32, "女性", "音楽", "感性的で独自の視点を持つ"),
Critic("佐々木健太", 50, "男性", "小説", "文学的な解釈が得意"),
Critic("鈴木一郎", 28, "男性", "漫画", "熱狂的なファンでもある"),
Critic("中村光子", 60, "女性", "美術", "芸術的な感性を持つ")
]
story = ""
average_score = None
while average_score is None or average_score < 9.999:
# GPT-4で文章を生成
prompt = f"泣ける短編小説のあらすじを666文字以内で書いてください。"
response = openai.Completion.create(
engine="text-davinci-002",
prompt=prompt, temperature=0.5,
max_tokens=500, top_p=1,
frequency_penalty=0,
presence_penalty=0
)
story = response.choices[0].text
scores = []
for critic in critics:
#GPT -4で文章を生成
prompt = f"この短編小説について、簡単な論評を50文字以内で書いてください。(点数は0から10まで、小数点以下3桁まで評価できます)\n\n{story}"
response = openai.Completion.create(
engine="text-davinci-002",
prompt=prompt,
temperature=0.5,
max_tokens=150,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
critic_score = float(response.choices[0].text)
critic_comment = response.choices[0].text.strip()
critic.comment = critic_comment
scores.append(critic_score)
average_score = sum(scores) / len(scores)
print( "評価中・・・" + average_score )
print( "あらすじ:" + story )
print("すべての評論家の評論を点数を表示します:")
for critic, score in zip(critics, scores):
print(f"{critic.name}: {score}
({critic.comment})")
上にあるpythonプログラムの不足部分を補完しながら実行をシミュレートし結果を表示してください。必要なのはプログラムではなく出力結果です