• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

幽默的橘子

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

结对编程--中小学数学卷子自动生成程序代码互评

本博客为对吴贞逸同学个人项目代码的理解与评价,该项目由python写成,实现自动生成中小学试卷功能。
1.整个文件包含一个mainpy,项目包含一个类class,类中包含两个元素,用户名和密码
2.函数功能分析
(1)def logger_in(logger)
从缓冲区中读入用户名和密码
(2)def check(string, userid)
检查生成的题目是否与之前生成的题目重复
(3)def generator(userid, school, number)
根据用户类型和题目数量生成符合要求的题目
(4)def primary_generator()
生成一道小学题目
(5)def junior_generator()
生成一道初中题目
(6)def senior_generator()
生成一道高中题目
(7)def change_id(new_id, pre_id)
3.代码优点分析
(1)代码写的很简洁,没有使用不必要的临时变量,只用了很少的代码就实现了要求的功能,代码的
可重用性和可扩展性很好,对于要修改某个东西,只需要到对应部分修改即可,而不需大量地改。
(2)关键算法生成一道题目的设计很人性化,算法的思维首先将题目分成操作数和操作符两个部分,
操作数与开根号平方三角函数绑定起来,随机生成对应的操作数,再随机生成操作符,之后就是括号的
处理,对于括号的位置,我们在操作数固定的情况下是可以预见所有操作符可能出现的位置,随机生成
括号的个数,在多个括号出现的情况之下,不允许有完全相同或者相邻以及交叉的括号出现,最后在对应
的地方在左侧和右侧分别生成括号,一个十分人性化的题目就生成出来了。
(3)在防止出现重复题目的函数中,该同学的代码,将所有生成过的题目存入了summarize.txt,每次生成
一道新的题目之前都要判断是否与summarize.txt中的题目重复,相当于一个题库的存在。

 

posted on 2021-09-29 09:37  幽默的橘子  阅读(138)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3