Skip to content

PengLinzhi/2021summer-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

2021summer-python

Python Knowledge Q & A platform

一个python答题平台,其中包括有选择题、判断题、简答题等,并且可以实现用户的注册登录、用户对题目的选择、做题的数据总结以及可视化分析。

1.主要功能

  1. 实现题目的展示,并且规定了题目数量的下限,不同的用户以及不同的题目测试均为不同的试卷,随机从题库中抽取用户指定的题目类型以及数量
  2. 完成了用户注册、登录界面,设置了不同的注册、登录时发生的情况并作出相应的提示。
  3. 当用户做完题目后平台提供题目批改
  4. 可以通过条形图查看不同的题目由所有用户的做题数据所组成的正确率,可以通过折线图查看个人做题的历史成绩(百分制)

2.辅助功能

  1. 实现对题目难度的区分,用户可以根据难度来选择题目
  2. 实现用户在做题过程中的进度分析,通过饼图查看自己的做题进度
  3. 实现了“学习模式”和“考试模式”两种做题方式,用户在选择题目后可以根据自己的需求选择这两种模式进行作答。
  4. 汇聚所有用户的做题记录,可以横向对比做题的正确率

3、总体设计方案

  • 在分析了题目的要求后,根据题目要求的几个大方向的要求将任务划分为三个板块,分别为用户注册登录,数据可视化分析和做题平台,其中每个板块通过题库以及用户信息库进行关联。
  • 首先是用户注册登录界面,在此先完成了整个平台所需要的Tk窗口的大小、图表、位置的设计,确保了统一窗体,方便用户使用。
  • 注册要求用户使用不可重复的手机号、至少6位数的密码以及不少于两位用户名进行注册。对于手机号无效格式、手机号已被注册、密码无效格式、用户名无效格式分别进行不同注册提示。
  • 登录时要求提供手机号以及密码,对于手机号码格式无效、手机号码未被注册,密码错误分别进行了不同的登录提示。
  • 在成功注册后,会载入个人信息库,在此后进行登录时即可查询到并通过登录进行后续的操作。
  • 其次是数据可视化。针对不同的题目,每个用户在完成题目后都会对准确率进行重新统计,并计入题库中,对题库进行查询,将准确率按照题号顺序放入列表,在通过matplotlib进行绘制,此处的准确率是通过条形图进行展示。
  • 当用户查询自己在试卷模式中得到的历次成绩时,通过IO得到成绩趋势折线图。
  • 选择做题,则进入选择题目数量类型界面。通过scale组件,使用户可以自行在规定范围内调节题目的数量、类型、难度,在达到了选择题不少于20道,判断题不少于20道,简答题不少于10道后的要求后,跳出做题模式选择,如果未达到要求,则跳出提示标签框。
  • 当完成了题目数量的选择后,按照需求从题库中随机选择题目并进行布局展示,在试卷模式中,用户需要一次性做完题目再提交,可以根据选择题目的总题数以及答对题目的数量得到答题的分数
  • 在学习模式中,可以每做完一道题目就查看当前题目的对错,同时可以点击左上角的check查看自己完成的质量统计。
  • 题目和试卷采用了面对对象的设计思想,题目下的三种题型继承了题目,在判断对错上有自己的方法,展示上略有区别,提取共性进行统一的题目展示。试卷则是通过用户选择的数量,对题库进行抽取,并提供一个画板进行展示,可以通过滑动条实现单页试题的展示。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages