ボタン四択の英単語テストを作りたいです
txtファイルに書いた英単語とその意味をテストするプログラムを作ったのですが、間違えた際に表示する正解が頭文字しか表示されません。なぜでしょうか
不正解の際正解答を表示したい
該当のソースコード
#テキストファイルの読み込み source='English.txt' with open(source) as f: data=f.read() E_word=re.findall('[a-z]+',data) ja=re.findall('\s.*\n',data) #\nを消す処理 j_word=[] for word in ja: m=re.sub('\t|\n','',word) j_word.append(m) w_dict=dict(zip(E_word,j_word)) #初期設定的な-------------- print("何問にする?上限は{}".format(len(E_word))) i=input() n_q=int(i) n_t=[] rand_ind=np.random.randint(low=0,high=len(E_word),size=n_q) for que in range(n_q): q_word=E_word[rand_ind[que]] t_ans=w_dict[q_word] jw_copy=j_word.copy() jw_copy.remove(t_ans) w_ans=random.sample(jw_copy,3) ans_option=[t_ans]+w_ans random.shuffle(ans_option) for k in range(0,4): if ans_option[k]==t_ans: n_t.append(k+1) print('問{}.{}\n'.format(que+1,q_word)) for i in range(4): print('{}. {}\n'.format(i+1,ans_option[i])) a=input() a=str(a) if a==str(n_t[que]): continue else: print("残念!\n正解は{}".format(t_ans[que+1])) sys.exit() print("おめでとう!") print(rand_ind) print(n_t)
試したこと
{}を分けて二行で書いてみましたが結果は変わらずでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/23 12:24