tkinter 小学数学口算题生成器

实验说明:

在小学一、二年级,只能口算 20 以内整数的加、减法;三、四年级可以口算超过 20 的整数四则运算;五年级以上可以口算带括号的式子。
编写程序,批量生成小学口算题,要求把生成的口算题写入 Word 文件中的表格。表格共 4 列,用户指定表格行数和题目适用年级。程序运行后界面如下图所示。

import random
import os
import tkinter
import tkinter.ttk
from docx.shared import Pt
from docx import DocumentcolumnsNumber = 4def main(rowsNumbers, grade):if grade < 3:operators = '+-'Max = 20elif grade <= 4:operators = '+-×÷'Max = 100elif grade >= 5:operators = '+-×÷('Max = 100document = Document()table = document.add_table(rows=rowsNumbers, cols=columnsNumber)table.style.font.name = '微软雅黑'table.style.font.size = Pt(10)for row in range(rowsNumbers):for col in range(columnsNumber):first = random.randint(1, Max)second = random.randint(1, Max)operator = random.choice(operators)if operator != '(':  # 不是五年级if operator == '-' or '÷':if first < second:first, second = second, firstr = str(first).ljust(2, ' ') + ' ' + operator + str(second).ljust(2, ' ') + '='else:  # 是五年级third = random.randint(1, 100)while True:o1 = random.choice(operators)o2 = random.choice(operators)if o1 != '(' and o2 != '(':break# 考虑括号的口算题r2 = random.randint(1, 100)if r2 > 50:if o2 == '-':if second < third:second, third = third, secondr = str(first).ljust(2, ' ') + o1 + '(' + str(second).ljust(2, ' ') + o2 + str(third).ljust(2,' ') + ')='else:if o1 == '-':if first < second:first, second = second, firstr = '(' + str(first).ljust(2, ' ') + o1 + str(second).ljust(2, ' ') + ')' + o2 + str(third).ljust(2,' ') + '='cell = table.cell(row, col)cell.text = rdocument.save('小学生口算题.docx')os.startfile("小学生口算题.docx")if __name__ == '__main__':app = tkinter.Tk()app.title('小学生口算题生成器')app['width'] = 300app['height'] = 150lableNumber = tkinter.Label(app, text='Number:', justify=tkinter.RIGHT, width=50)lableNumber.place(x=10, y=40, width=50, height=20)comboNumber = tkinter.ttk.Combobox(app, values=(100, 200, 300, 400, 500), width=50)comboNumber.place(x=70, y=40, width=50, height=20)labelGrade = tkinter.Label(app, text='Grade:', justify=tkinter.RIGHT, width=50)labelGrade.place(x=130, y=40, width=50, height=20)comboGrade = tkinter.ttk.Combobox(app, values=(1, 2, 3, 4, 5, 6), width=50)comboGrade.place(x=200, y=40, width=50, height=20)def generate():number = int(comboNumber.get())grade = int(comboGrade.get())rowsNumbers = int(number / 4)main(rowsNumbers, grade)buttonGenerate = tkinter.Button(app, text='Go', width=40, command=generate)buttonGenerate.place(x=130, y=90, width=40, height=30)app.mainloop()

Python实验——生成小学生口算题相关推荐

  1. php自动生成小学生口算题程序生成器

    闲着无聊写了一个小学生口算题生成器  php的  简单易用  省着家长们 每天手写出题了 适用范围:小学2年级到4年级上学期 课后作业练习使用 程序的出题的规范要求: 1.符号前后为100以内的整数 ...

  2. Python3 根据乘法口诀生成除法口算题(进阶)

    Python3 根据乘法口诀生成除法口算题 用到的简单的技术点:当前时间,读取文件.写入文件. 希望大家多多交流讨论.QQ:2444756311 (希望注明:CSDN-Python) Python代码 ...

  3. python小学生口算题生成器_小学数学题出题神器

    小学数学题生成器是一款简易的小学数学题目出题神器,目前支持20以内的加减混合运算,未来会更新更多的功能.对于想要在家给孩子练习的家长来说,还是比较方便的,而且能够打印. 软件介绍 今年儿子刚上一年级, ...

  4. nodejs+python+php+vue小学口算题测试系统

    成绩维护:成绩维护包括了成绩信息的查询,通过输入的检索关键词,点击查询后,就能够以模糊查询的形式查询出成绩信息,包括了姓名,年级,题量和学生所做试题的成绩信息,并且能够以分页的形式进行展示. 试卷维护 ...

  5. c语言交互式小学生口算题

    #include<iostream> #include<cstdio> #include<time.h> #include<cstdlib> using ...

  6. python乘法符号手写_利用Python自动生成小学生加减乘除口算考试题卷,不再为手写算术题烦恼!...

    还在为给孩子抄各种各样的口算题而烦恼?孩子上小学一年级之后,加减乘除的口算就要开始练习了,老师肯定会让家长出题.所以我们当家长的,要提前准备一下,就利用Python开发了一套自动生成小学生口算题的小应 ...

  7. 利用Python自动生成小学生加减乘除口算考试题卷,不再为手写算术题烦恼!

    还在为给孩子抄各种各样的口算题而烦恼?孩子上小学一年级之后,加减乘除的口算就要开始练习了,老师肯定会让家长出题.所以我们当家长的,要提前准备一下,就利用Python开发了一套自动生成小学生口算题的小应 ...

  8. 基于Python和Java混合编程实现的小学生数学口算题卡定制练习题

    1. 总体要求 综合运用软件工程的思想,协同完成一个软件项目的开发,掌软件工程相关的技术和方法: 组成小组进行选题,通过调研完成项目的需求分析,并详细说明小组成员的分工.项目的时间管理等方面. 根据需 ...

  9. python怎么编写口算题_来出口算题—— Python编程

    原标题:来出口算题-- Python编程 今天,小编带大家做一个实用的小程序,也就是计算题生成器. 低年级的小朋友,最需要提高的就是计算能力,而计算能力的提升离不开有效的练习,而手动出题总会有局限性, ...

最新文章

  1. 服务器测速,php在线测速
  2. Android ProGuard使用要点!
  3. vscode使用-添加格式化插件
  4. 录音转成文字 android,安卓手机自带的录音转文字功能这么强大,堪称会议神器!你会用吗...
  5. vb 垂直滚动条定位
  6. 基于环信sdk的陌生人交友php服务器代码开源
  7. 这道 Go 题目外网超过 80% 的人都答错了,你来试试...
  8. 从块结构谈表的存储参数与性能之间的关系
  9. Linux命令详解系列(一)——find命令详解
  10. android 大小端转换器,大小端转换的C++ 封装 :hton , ntol
  11. 李宏毅-《深度学习人类语言处理》国语版(2020)视频课程及ppt分享
  12. 概率论:多元高斯分布
  13. 亲,愚人节要来了!记得带着智商出门哦
  14. Opencv安装与环境配置
  15. 规划--如何成为一名web安全工程师
  16. 隐枚举法求解0-1整数规划
  17. Binder基石-Parcel
  18. 商业银行业务培训总结
  19. halcon绘制多边形轮廓的方法
  20. 日本动漫作家和其部分作品

热门文章

  1. photoshop人物精修_如何使用Photoshop轻松删除照片中的人物
  2. android倾斜角标实现
  3. 游戏场景设计思维:至关重要的基础元素
  4. 查看Oracle被锁的表以及如何解锁
  5. 好佳居软装十大品牌 软装可以让你感受到不同的味道
  6. Sublime Text 3 for Mac 3165 代码编辑器 中文汉化破解版下载
  7. [贝聊科技]有关Android应用桌面角标(BadgeNumber)实现的探讨
  8. 95、民用建筑的耐火等级
  9. Bootstrap_响应式导航栏,汉堡按钮,遮盖
  10. Flutter解决图片分辨率问题