クイズ形式で染色体異常と疾患を紐付ける

染色体異常疾患を覚えるのは一苦労である。

なぜなら、

病気の名前を覚えること

それに紐づいた染色体の場所を覚えること

の2つをしなくてはならないからだ。

そして、染色体異常で、遺伝子転座の場合、「どこ」から「どこ」へくっついたかが、数字で情報を渡される。ただの数字なので、選択肢問題で、忘れたら推測する術がない。

 

なので、何とかして覚えたい、というのが、本日の悩みである。

 

そういうわけで、クイズを作らせた。

染色体異常を問題に、選択肢に疾患を答えさせる問題。

たまに、答えが一つに決まらないパターンもある。それはもう確率ゲームである。それもまた一興。

 

import matplotlib.pyplot as plt
import numpy as np
import math
import random
problem_set = [j for j in range(5)]
random.seed(random.choice(problem_set))

"""
$1 making components of question and answer$
"""

question = ["t(8; 21)", "t(15; 17)", "inv(16)", "t(9; 22)",
"t(9; 22)", "t(14; 18)", "t(11; 14)", "t(8; 14)", "del(5q)"]

answer = ["急性骨髄性白血病","急性前骨髄球性白血病","急性骨髄単球性白血病","急性リンパ球性白血病",
"慢性骨髄性白血病", "濾胞性リンパ腫", "マントル細胞リンパ腫", "Burkittリンパ腫","骨髄異形成症候群"]


"""
$2 making questions
"""
num_of_q = 10;
num_of_option = 5
all_option = [i for i in range(len(question))]
for i in range(num_of_q):
    option = random.sample(all_option, num_of_option)
    problem = random.choice(option)
    print(f"{question[problem]}?")
    random.shuffle(option)
    tag = option.index(problem)
    for j in range(num_of_option):
        print(f"{j}: {answer[option[j]]}")
    value = int(input("Enter number of the answer: "))
    if value == tag:
        print("correct")
    else:
        print("wrong",tag,value)
    print(question[problem], answer[problem])

 

 

"""

"""

かなり遊べる。しかも意外と強制的に覚えられる。良い学習方法を見つけたかもしれない。