将问题放入列表并随机选择

2024-10-03 17:25:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经有一段时间有这个问题了,我的测验不起作用,即使代码在那里,某些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")

Tags: 答案textifcounteasylinequestionsprint
1条回答
网友
1楼 · 发布于 2024-10-03 17:25:46

考虑到顺序的问题

你的测验应该是一节课。你知道吗

避免MVC方法,保持简单类直接处理UI、数据和过程。你知道吗

构造器读取问题文件并更新内部数据表示(可能也会被重写),然后启动根Tk实例

创建一个方法来显示问题(标签)和专用于答案的区域(条目) 添加一个按钮“确定”或绑定条目小部件上的键,以启动一个专门用于控制答案和显示正确答案的方法

创建此方法

为Tkinter主循环添加一个方法

在脚本的main中实例化测验,调用方法“display a question”,然后调用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

对于每一行,您只需在可能的答案列表中添加一个可能的答案

准备好运行你的大脑。。。去吧。^^你知道吗

相关问题 更多 >