自分に合うタイプの人診断



ソースコード

  1. questions = [
  2.     "1. どの季節が好きですか?\nA. 春\nB. 夏\nC. 秋\nD. 冬",
  3.     "2. どの種類の音楽が好きですか?\nA. ロック\nB. ポップ\nC. ジャズ\nD. クラシック",
  4.     "3. どのようなアクティビティが好きですか?\nA. アウトドア\nB. インドア\nC. スポーツ\nD. 読書",
  5.     "4. 占い師から告げられたあなたの前世は?\nA. 幸せに暮らした農民\nB. 歴史に名を遺した偉人\nC. 恋多き西洋の姫君\nD. 人ではなく動物だった",
  6. ]
  7. criteria = {
  8.     "A": "自然を楽しむタイプ",
  9.     "B": "社交的なタイプ",
  10.     "C": "クリエイティブなタイプ",
  11.     "D": "知的なタイプ",
  12. }
  13. # 質問に答える関数
  14. def ask_questions(questions):
  15.     answers = []
  16.     for question in questions:
  17.         print(question)
  18.         answer = input("選択肢を入力してください(A/B/C/D): ")
  19.         answers.append(answer)
  20.     return answers
  21. # タイプを診断する関数
  22. def diagnose_person(answers, criteria):
  23.     result = {}
  24.     for answer in answers:
  25.         if answer in criteria:
  26.             result[criteria[answer]] = result.get(criteria[answer], 0) + 1
  27.     return result
  28. # メインプログラム
  29. if __name__ == "__main__":
  30.     print("自分に合うタイプの人を診断しましょう!")
  31.     user_answers = ask_questions(questions)
  32.     user_type = diagnose_person(user_answers, criteria)
  33.     
  34.     if user_type:
  35.         print("あなたに合うタイプの人は:")
  36.         for typ, count in user_type.items():
  37.             print(f"{typ}: {count}人")
  38.     else:
  39.         print("該当するタイプの人はいません。")

感想

明確に自分に合う人の答えを出したかったが、「こういうタイプの人が何人いる」というような答え方になってしまった