我有一段时间没有这个问题我的测验无法正常工作,即使代码在那里,某些tkinter窗口也不会关闭。然而,在与老师交谈后,他说可以阅读我的文本文件来获取问题和答案,然后将它们放在一个列表中,这样我就可以随机选择它们显示在窗口中(这样就没问题了)出现两次)。然后,他说你可以在每个问题得到解答后刷新窗口,用不同的答案提出不同的问题(甚至可能是"正确" /"错误"在每个问题之间)。如果有人知道如何做这将是一个巨大的帮助。感谢。
def quiz_easy():
global question
questions = []
correctanswers = []
possibleanswer1s = []
possibleanswer2s = []
possibleanswer3s = []
easy_questions = open("sup.txt", "r")
count = 1
for line in easy_questions:
if count == 1:
questions.append(line.rstrip())
elif count == 2:
correctanswers.append(line.rstrip())
elif count == 3:
possibleanswer1s.append(line.rstrip())
elif count == 4:
possibleanswer2s.append(line.rstrip())
elif count == 5:
possibleanswer3s.append(line.rstrip())
if count == 5:
count = 1
else:
count = count + 1
print(questions)
print (correctanswers)
randno1 = random.randint(0,len(questions)-1)
master = Tk()
text = Text(master)
text.insert(INSERT, questions[randno1])
text.insert(END, "?")
text.pack()
text.tag_add("here","5.0", "1.4")
text.tag_add("start", "1.8", "1.13")
答案 0 :(得分:0)
认为OOP intead of sequencial
你的测验应该是一个班级。
避免使用MVC方法,保持简单,类直接处理UI,数据和进程。
构造函数读取问题文件并更新内部数据表示(也可能会重新编写),然后启动Root Tk实例
创建一个方法来显示问题(标签)和专用于答案的区域(条目) 添加一个按钮" OK"或绑定Entry小部件上的键以启动专用于控制答案和显示正确答案的方法
创建此方法
为Tkinter主循环添加方法
在剧本的主要部分实现quizz,调用方法"显示问题"然后调用mainloop()
的方法我们正在等待你的代码;-)来协助
提示:1:首选:
import Tkinter as tk # instead of from Tkinter import * to keep your code explicit.
2:忘记代码中的全局指令..这里没有意义 3:文件读取,文件格式未优化。 在XML paradygm中不要太快 考虑前缀标尺
QUE translate pig in french
COR cochon
ALT proc
ALT truie
ALT verrat
ALT porcelet
ALT cochonet
ALT gorret
ALT nourrin
ALT nourrain
ALT cochette
对于每一行,您只需在可能的答案列表中附加可能的答案
准备好运行你的大脑......去吧。 ^^