鱼C论坛

 找回密码
 立即注册
查看: 12357|回复: 43

[已解决]如何用python编写一个程序随机从题库抽取题目并显示答案?

[复制链接]
发表于 2019-10-24 23:35:23 | 显示全部楼层 |阅读模式
30鱼币
类似图片上这种界面,点击题目后可以从题库中随机抽取题目显示并给予答题者一定的时间进行回答。
请各位大佬帮帮我,写一个大概的框架出来,感谢~!
学校的活动需要用到,我自己短时间不会写这种程序,希望能得到帮助!
最佳答案
2019-10-24 23:35:24
本帖最后由 XiaoPaiShen 于 2019-11-1 11:03 编辑
  1. from tkinter import *
  2. from tkinter import scrolledtext

  3. class GuessGui:
  4.     def __init__(self, title):
  5.         self.root = Tk()
  6.         self.root.title(title)
  7.         self.root.geometry('800x600')              

  8.     def build_menu(self):
  9.         root_menu = Menu(self.root)        

  10.         # intializes a new sub menu in the root menu
  11.         file_menu = Menu(root_menu)
  12.         root_menu.add_cascade(label = "菜单", menu = file_menu)        
  13.         
  14.         file_menu.add_command(label = "显示记分板")
  15.         file_menu.add_command(label = "隐藏记分板")
  16.         file_menu.add_separator()
  17.         file_menu.add_command(label = "退出", command = self.root.quit)

  18.         self.root.config(menu = root_menu)   

  19.    
  20.     def build_timer(self, index):
  21.         
  22.         self.timer = Label(self.root, text='00:00', font=('times', 20), fg='red')
  23.         self.timer.grid(row=index, column=0, columnspan=8)

  24.     def build_content(self, index):
  25.         group1 = LabelFrame(self.root, text='题目', padx=5, pady=5)
  26.         group1.grid(row=index, column=0, columnspan=8, padx=10, pady=10, sticky='ewns')
  27.         
  28.         self.root.rowconfigure(index, weight=1)
  29.         self.root.columnconfigure(0, weight=1)

  30.         group1.rowconfigure(0, weight=1)
  31.         group1.columnconfigure(0, weight=1)
  32.         
  33.         self.content = scrolledtext.ScrolledText(group1)
  34.         self.content.grid(row=0, column=0, sticky='ewns')
  35.         
  36.     def build_buttons(self, index):
  37.                
  38.         self.bu_tixing01 = Button(self.root, text='题型一', width=10)
  39.         self.bu_tixing01.grid(row=index,column=6, padx=10, pady=10, sticky='ew')
  40.         
  41.         self.bu_answer = Button(self.root, text='显示答案', width=10)
  42.         self.bu_answer.grid(row=index,column=7, padx=10, pady=10, sticky='ew')        

  43.         self.bu_tixing02 = Button(self.root, text='题型二', width=10)
  44.         self.bu_tixing02.grid(row=index+1,column=6, padx=10, pady=10, sticky='ew')        
  45.         
  46.         self.bu_assistance = Button(self.root, text='场外援助', width=10)
  47.         self.bu_assistance.grid(row=index+1,column=7, padx=10, pady=10, sticky='ew')        

  48.     def build_gui(self):
  49.         index = 0
  50.         self.build_menu()
  51.         self.build_timer(index)
  52.         self.build_content(index+1)
  53.         self.build_buttons(index+2)     

  54.     def main(self):
  55.         self.root.mainloop()

  56. if __name__ == '__main__':
  57.    
  58.     gui = GuessGui('竞猜游戏')
  59.     gui.build_gui()
  60.     gui.main()        
复制代码
@WQ~4@{Y[D5D189Y0JMWIEP.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-10-25 14:54:56 | 显示全部楼层
XiaoPaiShen 发表于 2019-10-25 05:43
题库是怎么存的?答案是怎么存的,如何能访问他们?

题库是两个txt文档,题目按序号出好,然后每一题的下一行是答案
访问的话我觉得应该不困难,主要是我没掌握这方面的知识,最近又需要改一下这个程序
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-10-26 17:19:52 | 显示全部楼层
阴阳神万物主 发表于 2019-10-25 21:32
需要显示界面的部分吗

对的,如果题库使用部分也能写好那就好了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-10-26 17:23:44 | 显示全部楼层
XiaoPaiShen 发表于 2019-10-25 22:46
如果程序已经存在,只是修改某些功能就会容易些。完全从头开始就比较繁杂

对啊,我也这样想,但是学长没留源码下来
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-10-30 01:12:16 | 显示全部楼层
本帖最后由 xuanpeng123 于 2019-10-30 01:19 编辑
阴阳神万物主 发表于 2019-10-26 18:14
那么,可以把每个按钮要达到的效果说一下吗?包括左上角的菜单


点击题型一,从第一个txt文件里随机取出一道题显示在屏幕上,并且开始倒计时20秒
点击题型二,从第二个txt文件里随机取出一道题显示在屏幕上,并且开始倒计时20秒
点击场外援助,倒计时60s
点击显示答案,屏幕上显示正确答案
左上角的菜单有四个按钮:
1.显示记分板
2.隐藏记分板
3.导入新题库至题型1
4.导入新题库至题型2

记分板还是有用的,3,4功能我看没什么必要,直接建立和文件夹里的txt文件的关系一样可以更换题库。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-10-30 01:13:50 | 显示全部楼层
_2_ 发表于 2019-10-27 20:38
兄dei,看看 11#

谢谢兄弟,但是我主要是要做一个界面,这个比较重要,因为学校活动要用到,简易代码其实我也会的。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-10-30 01:15:20 | 显示全部楼层
_2_ 发表于 2019-10-27 20:35
我找到一个简单的办法:
需要你辛苦一下,把题目和答案放到一个字典里,再把这些字典都放到一个列表里 ...

有心了兄弟,谢谢你!!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-11-18 22:19:00 | 显示全部楼层
阴阳神万物主 发表于 2019-11-3 17:48
所以我就问他了,至今没回复

啊啊啊,活动办完了,这几周被活动的名单还有各种表弄得头昏脑胀。最后才发现其实搞技术不是最难的,最难的还是和人打交道,各种参赛的人问问题把我人都快问死了。。感谢你们的支持啦!!

评分

参与人数 1荣誉 +1 收起 理由
阴阳神万物主 + 1 这是大实话

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-11-18 22:26:10 | 显示全部楼层

谢谢谢谢!!!!很抱歉现在才看到,活动很成功的办完啦,以后我会根据你这个再修改一下我们的程序的!非常感谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-22 19:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表