1 Star 0 Fork 227

popboy29 / PrimarySchoolMathematics

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

Primary School Mathematics 小学数学口算题

输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明

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

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

程序更新

2022-12-02 把前端页面打包集成到了fastapi,可以不用在启动前端的环境来使用本程序了.

2022-11-13 更换了前端框架为vue3,后续将更新一些新功能.比如一键生成预制的常见类型的口算题,口算题小游戏等.

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

程序核心功能:

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

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

3.一键生成常见类型口算题和口算题小游戏(正在调试开发中)

程序的安装

Git克隆或是下载压缩包。

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

后端的环境搭建

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

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

cd webbackend
pip install -r requirements.txt

如果pip更新依赖缓慢,请使用下边的代码试试:

pip install -r requirements.txt -i http://pypi.douban.com/simple
  1. /webbackend目录终端下运行python main.py,或使用vscodepycharm打开/webbackend/main.py,运行当前文件即可.
  2. 打开浏览器在地址栏中输入http://127.0.0.1:8000/,看到下图就是启动成功了.
  3. 程序启动之后就可以正常使用了!

前端环境搭建

如果你只是使用本程序,可以跳过前端环境搭建直接查看使用教程,后端已经集成了打包的前端页面.

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

  2. 终端输入:npm install更新下载前端的依赖,如果速度太慢,建议临时使用镜像服务器下载依赖:npm install --registry https://registry.npm.taobao.org.

  3. 终端输入:npm run dev 启动前端服务器.正常的话打开网址http://127.0.0.1:5173/你会看到下图:

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

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

使用教程

启动程序

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

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

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

程序的使用

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

  1. 口算题卷子保存在./docx目录下,用软件打开后连接打印机就可以打印了. 页面上也有提供下载的连接,方便远程下载.

  2. 一些复杂的口算题都是先从添加口算题开始,比如我要打印60道100以内的加减法混合口算题,结果不大于70. 这个时候我们可以选择第一步运算符号的加法和减法,设置好其他参数,然后添加口算题,最后点生成口算题.

  3. 具体的使用可以多试试,其实很简单啦!

程序成生的口算题截图:

一些想法

重构程序界面的时候发现自己的能力有限,所以界面ui的处理很让人头疼,希望有时间有能力的前端后端全栈的牛逼大佬来贡献一沓代码,共同完善这个小程序,为更多宝贝的程序员老爹老妈省下更多的时间!后端主要是一些简单的算法,后续还想添加的功能有:小数的口算题,整十百千的口算,分数口算题(这个完全没有思路)。

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

捐赠

开发和维护 PrimarySchoolMathematics 花费了我很多业余时间,如果你觉得项目帮助到您,请认真考虑请作者喝一杯咖啡好吗?😋

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: You must give any other recipients of the Work or Derivative Works a copy of this License; and You must cause any modified files to carry prominent notices stating that You changed the files; and You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright 2018 py_sky Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

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

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/popboy29/PrimarySchoolMathematics.git
git@gitee.com:popboy29/PrimarySchoolMathematics.git
popboy29
PrimarySchoolMathematics
PrimarySchoolMathematics
master

搜索帮助