回答がそれぞれ異なる質問につながるアンケートを作成しようとしています(デシジョンツリーやステートマシンと同様)。if文の過度の使用を避けるために動的な調査を行う方法は?
if-elseステートメントを使ってこれを行うのは簡単ですが、私は "ツリー"にもっと多くの枝と深さがあると思います。
ある時点で私はもうコードを読むことができません。
クリーンで読みやすい方法がありますか?ここで
は、私がこれまでに把握できるものの例です:あなたは、ネストされたdictionary
を使用することができ
q1 = raw_input("Q1 \n\n1)\n\n2)\n\n3)\n")
if q1 == "1":
q2 = raw_input("Q1.1 \n\n1)\n\n2)\n\n")
if q2 == "1":
q3 = raw_input("Q1.1.1 \n\n1)\n\n2)\n\n3)\n\n")
if q2 == "2":
q3 = raw_input("Q1.1.2 \n\n1)\n\n2)\n\n3)\n\n")
if q1 == "2":
q2 = raw_input("Q1.2 \n\n1)\n\n2)\n\n3)\n\n")
if q2 == "1":
q3 = raw_input("Q1.2.1 \n\n1)\n\n2)\n\n")
if q2 == "2":
q3 = raw_input("Q1.2.2 \n\n1)\n\n2)\n\n")
if q2 == "3":
q3 = raw_input("Q1.2.3 \n\n1)\n\n2)\n\n3)\n\n")
if q1 == "3":
q2 = raw_input("Q1.3 \n\n1)\n\n2)\n\n3)\n\n4)\n\n")
if q2 == "1":
q3 = raw_input("Q1.3.1 \n\n1)\n\n2)\n\n")
if q2 == "2":
q3 = raw_input("Q1.3.2 \n\n1)\n\n2)\n\n")
if q2 == "3":
q3 = raw_input("Q1.3.3 \n\n1)\n\n2)\n\n")
if q2 == "4":
q3 = raw_input("Q1.3.4 \n\n1)\n\n2)\n\n")
あなたはそれが現時点で何をするかの例を添付することはできますか?どのように見えるかは分かりやすいでしょう。 –
はい。有向グラフやステートマシンについて学ぶことをお勧めします。そして、これをあなたの都合のよい形でグラフとして表現することができます。メインループは "現在の位置"変数と汎用ロジックで構成され、次の位置に移動します。 – Prune