当前位置: 首页 > 软件库 > 程序开发 > 数学计算 >

PrimarySchoolMathematics

基于 Python 的小学生口算题生成器
授权协议 Apache 2.0
开发语言 Python JavaScript
所属分类 程序开发、 数学计算
软件类型 开源软件
地区 国产
投 递 者 郜光明
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Primary School Mathematics 小学数学口算题

孩子上小学一年级了,加减乘除的口算就要开始练习了,估计老师肯定会让家长出题,所以提前准备一下,利用Python开发了一套自动生成小学生口算题的小应用。 为了让辛苦的程序员老爹解放抄题的双手,本程序让你拥有更多的时间去写代码而不用去手写几道口算题而劳神伤脑。所以有或没有娃子的程序员老爹们一起来继续优化个开源小程序的?有什么点子,发现什么BUG,欢迎提出issue。

仅以此软件,献给那些热爱Python的程序员老爹们!

程序更新

2022-11-05 由于之前代码所用的框架是比较久远的版本,很多新人需要折腾很长时间才能运行起来,鉴于此种情况,全面更换了前后端的框架,使程序的运行环境搭建更为方便了.重构期间修复了一些bug和逻辑,后续将更新一些新功能.比如一键生成预制的常见类型的口算题等.

程序核心功能:

1.可以设置各算数项和结果的取值范围及多步算数符号的选择,可以生成求结果、求算数项、带括号的算式,最多支持3步算式题,除法可以生成带有余数的口算题.

2.可以简单设置文档标题,小标题。设置生成的口算题文档个数

3.一键生成常见类型口算题(dev版本中正在调试开发中)

程序的安装

Git克隆或是下载压缩包。

git clone https://gitee.com/J_Sky/PrimarySchoolMathematics.git

后端的环境搭建

  1. 本程序运行调试的python环境为3.8.8,建议新建一个全新的虚拟环境来测试。

下载程序进入/webbackend,安装程序相关依赖,在程序根目录下运行终端:

cd webbackend
pip install -r requirements.txt
 
  1. /webbackend目录终端下运行python main.py,或者使用vscode打开/webbackend/main.py,运行当前文件即可.
  2. 打开浏览器在地址栏中输入http://127.0.0.1:8000/docs,看到下图就是环境搭建成功了. 

前端环境搭建

  1. 进入./webfrontend 终端输入: cd webfrontend,如果你使用的是vscode,可以使用分屏新建终端,这样前后端的服务器启动可以一目了然. 

  2. 终端输入:npm install更新下载前端的依赖,如果速度太慢,建议搜索使用镜像服务器下载依赖.

  3. 终端输入:npm start 启动前端服务器.正常的话你会看到下图:

最近发现有些朋友下载代码后不能使用请看这里

  1. 本程序运行调试的python环境为3.8.8,建议新建一个全新的虚拟环境来测试。
  2. 首次运行时,前后端报错的话,大概率都是依赖没有安装,建议查看错误提示安装相关依。
  3. 如果依然无法运行,可以发起issues提供详细的报错信息,或是联系我一起分析。

使用教程

启动程序

终端下进入程序根目录,先启动后端:

(fastAPI_psm) bash-3.2$ cd webbackend
(fastAPI_psm) bash-3.2$ python main.py
 

终端显示下图即是后端启动完毕.

再开一个终端,如果是vscode拆分终端,进入到./webfrontend,输入npm start 终端显示如下就说明启动成功了.

程序的使用

  1. 例:生成10以内加法口算题60道,设置好算数项的取值范围和运算符号,设置好口算题数目之后点添加口算题,最后点击生成口算题即可!

  1. 口算题卷子保存在./docx目录下,用软件打开后连接打印机就可以打印了.
  2. 一些复杂的口算题都是先从添加口算题开始,比如我要打印60道100以内的加减法混合口算题,结果不大于70. 这个时候我们可以选择第一步运算符号的加法和减法,设置好其他参数,然后添加口算题,最后点生成口算题.
  3. 具体的使用可以多试试,其实很简单啦!

程序成生的口算题截图:

   

一些想法

重构程序界面的时候发现自己的能力有限,所以界面ui的处理很让人头疼,希望有时间有能力的前端后端全栈的牛逼大佬来贡献一沓代码,共同完善这个小程序,为更多宝贝的程序员老爹老妈省下更多的时间!

后端主要是一些简单的算法,后续还想添加的功能有:小数的口算题,整十百千的口算,分数口算题(这个完全没有思路)。

最后感谢曾经贡献过代码的同学,再次谢谢你们!

 相关资料
  • 两种打字方式我都不知道。等待的集合。abc。Awaitable涵盖一个基于生成器的协同路由,它是中定义的Awaitable之一 https://www.python.org/dev/peps/pep-0492/#await-expression 从Python 3.6开始,几个API,如和实际上返回基于生成器的协程。我通常对它们的返回值应用关键字没有问题,但是我要处理正常值和可等待值的混合,我需要

  • 本文向大家介绍Python中的列表生成式与生成器学习教程,包括了Python中的列表生成式与生成器学习教程的使用技巧和注意事项,需要的朋友参考一下 列表生成式 即创建列表的方式,最笨的方法就是写循环逐个生成,前面也介绍过可以使用range()函数来生成,不过只能生成线性列表,下面看看更为高级的生成方式: 写列表生成式时,把要生成的元素x * x放到前面,后面跟for循环,就可以把list创建出来,

  • 上面是一个模式,我一直试图弄清楚如何生成相当长的一段时间了。我很想把圆的半径输入到一个方法中,并让它返回一个数组,其中包含正确的值。(例如,0=最暗,1=较少暗,2=较少暗等) 我的问题是,我不知道如何在数学上做到这一点。半径每增加一次,边界正方形的边缘就会被侵蚀得更厉害。我看不出大小3、4、5等之间的变化有明显的模式。有人能帮我吗?谢了! 以下是我想出的一些信息: 3的半径均为(x-2,y-2)

  • 除了从课堂维度查看数据之外,点击左侧【学生成绩】,可以查看学生维度的统计数据,关联mooc 或 spoc 课程的慕课堂,可以在学习表现中看到学生的视频观看个数、次数、时长、讨论区主题数、评论数、回复数、线上课程的学习总成绩。 提示:学生在MOOC/SPOC中观看视频、参与互动的数据每天一次同步到慕课堂后台(课程相关数据隔天更新),学生在MOOC/SPOC 中参加测验/作业的成绩需老师确认后才会同步

  • 本文向大家介绍Kruskal的最小生成树算法,包括了Kruskal的最小生成树算法的使用技巧和注意事项,需要的朋友参考一下 有一个连通图G(V,E)并给出了每个边的权重或成本。Kruskal的算法将使用图形和成本找到最小生成树。 这是合并树方法。最初,有不同的树,此算法将采用成本最小的那些边合并它们,并形成一棵树。 在此问题中,所有边均根据其成本列出并排序。从列表中,取出成本最低的边并添加到树中,

  • 本文向大家介绍基于python实现学生信息管理系统,包括了基于python实现学生信息管理系统的使用技巧和注意事项,需要的朋友参考一下 学生信息管理系统负责编辑学生信息,适时地更新学生的资料。下面通过python实现一个简单的学生信息管理系统 调用main()函数即可: 虽然以上代码可以完成上述功能,但是每次调用程序里面的数据全部清除掉了,所以为了更好的模拟现实的学生信息管理系统,我们还需要将上次

  • 本文向大家介绍基于Python实现简单学生管理系统,包括了基于Python实现简单学生管理系统的使用技巧和注意事项,需要的朋友参考一下 学生信息管理系统负责编辑学生信息,供大家参考,具体内容如下 第一次发帖,下面通过python实现一个简单的学生信息管理系统 要求如下: 1.添加学生的信息 2.删除学生的信息 3.修改的信息 4.查询学生的信息 5.遍历学生的信息 6.退出系统 写法: 1.先考虑

  • 习题6-5 最小生成树 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。已知村庄数N和可建道路数M,设初始状态下任意村庄之间没有路,请编写程序,根据输入的两村庄间修建道路的费用情况,计算这些村庄畅通所需要的最低成本。 输入格式: 测试数据有多组。每组测试数据第1行输入村庄数目N ( 1< N < 11 )和道路数M;随后的M