前提・実現したいこと
pythonを利用して、.txtファイルから問題を読みこみクイズを作りたいです。
発生している問題
.txtファイルから読み込んだ時、print関数で表示してみても同じなのに、if文ですると、Trueになりません。
該当のソースコード
python
1import tkinter #tkinterをimportするよ。 2from tkinter import messagebox #tkinterのmessageboxってヤツを使うよ。 3from tkinter import font 4 5 6entry = 0 7root1 = 0 8answer = 0 9answers = 0 10 11 12def cms():#スタートメッセージを閉じる関数。 13 roots.destroy() 14 shutudai() 15 16 17def shutudai(): 18 count = 0 19 global entry 20 global answers 21 global answer 22 global root1 23 24 with open("question.txt", "r", encoding = "utf-8") as f: #問題文のテキストファイルを読み込む 25 for questions in f: 26 question = questions.split("|") 27 quiz = question[0] 28 answers = question[1].replace("\n", " ") 29 count += 1 30 root1 = tkinter.Tk() 31 root1.title('') 32 root1.state('zoomed') 33 label = tkinter.Label(text="第" + str(count) + "問", font=('ゴシック', 20)) 34 label.pack()#何問目かを表示するよ。 35 label = tkinter.Label(text=quiz, font=('ゴシック', 20)) #text = "問題文" 36 label.pack()#問題文はここに 37 label = tkinter.Label(text='↓ここに解答を入力', font=('ゴシック', 20)) 38 label.pack()#解答欄を教えるよ。 39 entry = tkinter.Entry(width=20, font=('ゴシック', 20)) 40 entry.pack()#解答欄だよ。 41 button = tkinter.Button(text='解答する', font=('ゴシック', 20), command=cm, width=10) 42 button.pack()#正解か判断する関数を呼ぶボタンだよ。 43 root1.mainloop() 44 45def cm():#正解か判断して分岐させる関数。 46 answer = entry.get()#entry.get()を変数にして解答を見るよ。 47 #print(answer) 48 #print(answers) 49 50 if answer == answers: 51 root1.destroy() 52 else: 53 messagebox.showerror('', '残念、不正解です。')#間違えたらエラーメッセージ 54 55 56def cmg():#ゴールメッセージを閉じる関数。 57 rootg.destroy() 58 59roots = tkinter.Tk()#スタート画面 60roots.title('')#タイトルは無し。 61roots.state('zoomed')#これで全画面になるよ。 62label = tkinter.Label(text='', font=('ゴシック', 50)) 63label.pack()#ラベルにメッセージを書いて表示するよ。 64button1 = tkinter.Button(text='クイズを作る', font=('ゴシック', 20), command=cms, width=15).place(x = 850, y = 100) 65button2 = tkinter.Button(text="クイズを解く", font=("ゴシック", 20), command=cms, width=15).place(x = 850, y = 160) 66roots.mainloop() 67 68 69rootg = tkinter.Tk()#ゴール画面 70rootg.title('') 71rootg.state('zoomed') 72label = tkinter.Label(text=' \n\nお疲れさまでした。\n ', font=('ゴシック', 50)) 73label.pack() 74button = tkinter.Button(text='終了', font=('ゴシック', 20), command=cmg, width=10) 75button.pack()#ゴールメッセージ閉じる変数を呼ぶボタンだよ。 76roots.mainloop()
txt
1問題|答え 2もんだい|こたえ
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。