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

import random
import os
import tkinter
import tkinter.ttk
from docx.shared import Pt
from docx import Document
columnsNumber = 4
def 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,first   r = 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),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 实验二 tkinter 版小学数学口算题生成器设计与实现相关推荐

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

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

  2. Qt操作Office的一个实例--口算题生成器制作。

    文章目录 Qt操作Office的一个实例--口算题生成器制作. 1.关联QAxObject 2.操作Word文档: 3.设计界面 4.关键代码 效果: Qt操作Office的一个实例–口算题生成器制作 ...

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

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

  4. 十几减9的口算题_一年级数学口算题:十几减9(可下载)

    新东方小学生资料下载 姓名 手机号 短信验证码 图片验证码 年级 请选择 学前 一年级 二年级 三年级 四年级 五年级 六年级 行政区 请选择 请选择 请选择 {"name":{& ...

  5. Python实验——生成小学生口算题

    tkinter 小学数学口算题生成器 实验说明: 在小学一.二年级,只能口算 20 以内整数的加.减法:三.四年级可以口算超过 20 的整数四则运算:五年级以上可以口算带括号的式子. 编写程序,批量生 ...

  6. 小学生计算/口算题excel打印版,计算机出题,解放大人

    [推荐]2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 老师要求孩子练习数学口算题,网上找了几个出题软件,感觉不是很满意,特别是打印格式十分不爽 正好闲来无事,现学现 ...

  7. 数学题 识别 批改 python_这款软件能帮小学老师家长批作业 1秒扫描口算题圈错 准确率95%...

    原标题:这款软件能帮小学老师家长批作业 1秒扫描口算题圈错 准确率95% ◆ 创始人陈明权一直在致力于发现生活中的需求,并通过技术去帮助人们提高效率. 文| 铅笔道 记者 刘璐明 "爱作业& ...

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

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

  9. 水箱建模最小二乘法_北师大版小学数学下册五年级第四单元长方体(二)整理复习电子课本练习同步教学视频...

    点击蓝字关注我 点击关注蓝色字体智奥学园,本公众号陆续上线珠心算.奥数.英语等更多精彩的免费课程推送给大家,如果觉得好请转发给亲朋好友. (本课内容往下拉) 往期精彩回顾 1.北师大版小学数学下册五年 ...

  10. 四年级下册计算机教学目录,最新版人教版小学数学四年级下册目录

    010在线为您甄选多篇描写最新版人教版小学数学四年级下册目录,最新版人教版小学数学四年级下册目录精选,最新版人教版小学数学四年级下册目录大全,有议论,叙事 ,想象等形式.文章字数有400字.600字. ...

最新文章

  1. Vector容器与Iterator迭加器
  2. cuda nvcc版本不一致_入坑第一步:Win10安装cuda+cuDNN+TensorFlow-GPU走过的那些路
  3. JVM核心之JVM运行和类加载全过程
  4. java scanner_Java Scanner skip()方法与示例
  5. 推荐一些C#相关的网站、资源和书籍
  6. git常用命令,冲突
  7. linux的管道和重定向,Linux培训之管道和重定向
  8. html5shiv 无效,解决低版本IE关于html5新特性的兼容性问题html5shiv.js和Respond.js
  9. 关于teamviewer不能进行局域网连接的问题
  10. 电脑服务器开机显示器没反应,电脑主机开了但是显示器没反应怎么办 电脑主机开了显示器没反应原因【图文】...
  11. python3刷火车票_Python3实现抢火车票功能(上)
  12. Enhancing Social Recommendation with Adversarial Graph Convolutional Networks个人笔记
  13. 360一键wifi共享 v5.3 绿色免费版​
  14. 【AndroidStudio】使用网易 MUMU 模拟器调试
  15. Eclipse Memory Analyzer 使用技巧
  16. php 模拟百度蜘蛛
  17. 工程师的基本功是什么?如何练习?—学习心得分享
  18. 计算机网络知识整理-计算机网络概述(计算机网络入门参考指南)
  19. 三星坠落:最糟的日子还没到来
  20. 打造不死的asp木马

热门文章

  1. “快手极速版”的模拟器多开方法
  2. python交互式培训网站对比(风变编程、指尖编程、扇贝编程)
  3. 进入Tokio的异步世界
  4. 南京应用计算机学校排名,南京软件工程专业比较好的17所大学推荐
  5. Ubuntu下读取Xbox360手柄输出
  6. AI根据代码内容可自动起函数名
  7. unity webgl踩坑指南
  8. c语言学生学籍查询流程图,C语言学生学籍管理系统
  9. 算术平均数、几何平均数、
  10. 搭建syslog日志服务器