Python:创建一个多项选择测验

时间:2017-10-09 15:02:26

标签: python function loops

我正在尝试在python中编写一个程序,首先要求用户选择一项运动(足球,网球,高尔夫或羽毛球),然后选择简单,中等或硬。然后,如果用户选择“简单”,则程序应向用户询问有关该运动的5个问题,如果用户选择“中等”,则向用户询问4个问题;如果用户选择了“中等”,则该问题为8个。

任何人都可以帮我开始吗?

1 个答案:

答案 0 :(得分:0)

有一个名为tkinter的Python库,您可以将其用于此目的。选择过程的基本设计如下:

from tkinter import *

class App:
    def __init__(self, root):
        self.root = root
        self.x = IntVar()
        self.y = IntVar()
        self.frame = Frame(root)
        self.frame.pack()
        self.sport = [("football", 0), ("tennis", 1), ("golf", 2), ("badminton", 3)]
        self.diff = [("easy", 0), ("medium", 1), ("hard", 2)]
        for i, c in self.sport:
            Radiobutton(self.frame, text=i, variable=self.x, value=c, indicatoron=0).pack(anchor="w", fill="both", expand=True)
        for i, c in self.diff:
            Radiobutton(self.frame, text=i, variable=self.y, value=c, indicatoron=0).pack(anchor="w", fill="both", expand=True)
        Button(self.frame, text="Ok", command=self.start).pack(anchor="w", fill="both", expand=True)
    def start(self):
        print("questions: "+self.sport[self.x.get()][0]+", "+"difficulty: "+self.diff[self.y.get()][0])


root = Tk()
App(root)
root.mainloop()

从那里你需要开始你的循环并循环选择一些问题,这些问题最有可能包含在某种形式的嵌套迭代中。

你可以拥有类似的东西:

[[(fb question 1, [list of answers]), ...], [(tennis question 1, [list of answers]), ...], ...]

另外,Stack Overflow不是免费的编程服务,也不是为您创建家庭作业的资源。如果您在开发周期的某个阶段遇到困难,我们非常乐意帮助您解决问题,但不会为您编写程序。