python怎么编写口算题_用Python开发小学二年级口算自动出题程序
#-*- coding:utf-8 -*-
__author__ = 'zhengbiqing 460356155@qq.com'
__doc__ = """武汉市光谷一小二年级数学口算自动出题程序 2017-05-31"""
from random importrandint
sym= ['+', '-']#当前文件夹下创建口算题目文件math.txt
fobj = open('math.txt', 'w')defbase_exei_oneline(pmin, pmax, mmin, mmax, multimin, multimax, divmin, divmax):'''pmin,pmax:加数、被加数最小最大值
mmin,mmax:减法转换成加法后,加数、被加数最小最大值
multimin,multimax:乘数、被乘数最小最大值
divmin,divmax:除法转换成乘法后,乘数、被乘数最小最大值'''
#plus:加法算式,rjust(2):按2位数右对齐
plus = str(randint(pmin, pmax)).rjust(2) + '+' + str(randint(pmin, pmax)).rjust(2) + '='
#minus:减法算式
minus1 =randint(mmin, mmax)
minus2=randint(mmin, mmax)
minussum= minus1 +minus2
minus= str(minussum).rjust(2) + '-' + str(minus1).rjust(2) + '='
#multi:乘法算式
multi1 =randint(multimin, multimax)
multi2=randint(multimin, multimax)
multi= str(multi1).rjust(2) + 'x' + str(multi2).rjust(2) + '='
#div:除法算式
div1 =randint(divmin, divmax)
div2=randint(divmin, divmax)
divmulti= div1 *div2
div= str(divmulti).rjust(2) + '/' + str(div1).rjust(2) + '='lineitem=[plus, minus, multi, div]
line= (18 * ' ').join(lineitem)printline
fobj.writelines(line+ '\r\n')#4列x10行道加、减、乘、除基本题,每行加、减、乘、除题各1道
defbase_exeicise():for col in range(10):
base_exei_oneline(1, 20, 1, 50, 1, 9, 1, 9)#类型1算式:... +/- ... +/- ...
def type1_str(summin=1, summax=100):'''summin,summax:允许总和的最小最大值'''sym1= sym[randint(0, 1)]
sym2= sym[randint(0, 1)]if sym1 == '+' and sym2 == '+':
sum_= randint(summin + 2, summax)
first= randint(summin, sum_ - 2)
second= sum_ -first
second= randint(summin, second - 1)
third= sum_ - first -secondelif sym1 == '+' and sym2 == '-':
sum_= randint(summin + 1, summax)
first= randint(summin, sum_ - 1)
second= sum_ -first
third=randint(summin, sum_)elif sym1 == '-' and sym2 == '+':
first= randint(summin + 1, summax)
second=randint(summin, first)
third= randint(first -second, summax)elif sym1 == '-' and sym2 == '-':
first= randint(summin + 2, summax)
second=randint(summin, first)
third= first -second
third=randint(summin, third)
arithmetic= str(first).rjust(2) + sym1 + str(second).rjust(2) + sym2 + str(third).rjust(2)printarithmeticreturnarithmetic#类型2算式:... +/- ... x ...
def type2_str(multimin=1, multimax=9, summin=1, summax=100):'''multimin,multimax:乘数、被乘数最小最大值
summin,summax:允许总和的最小最大值'''sym1= sym[randint(0, 1)]
second=randint(multimin, multimax)
third=randint(multimin, multimax)
multi= second *thirdif sym1 == '+':
first= randint(summin, summax -multi)else:
first=randint(multi, summax)
arithmetic= str(first).rjust(2) + sym1 + str(second).rjust(2) + 'x' + str(third).rjust(2)printarithmeticreturnarithmetic#类型3算式:(... +/- ...) / ...
def type3_str(multimin=1, multimax=9, summin=1, summax=100):'''multimin,multimax:乘数、被乘数最小最大值
summin,summax:允许总和的最小最大值'''sym1= sym[randint(0, 1)]
second=randint(multimin, multimax)
third=randint(multimin, multimax)
multi= second *thirdif sym1 == '+':
first=randint(summin, multi)
second= multi -firstelse:
second= randint(summin, summax -multi)
first= multi +second
arithmetic= '(' + str(first).rjust(2) + sym1 + str(second).rjust(2) + ')' + '/' + str(third).rjust(2)printarithmeticreturnarithmetic#生成一套题
defoneday_homework():#基本题
base_exeicise()#类型1题
plus1 =type1_str()
plus2=type1_str()#类型2题
plus3 =type2_str()#类型3题
plus4 =type3_str()
plus5=type3_str()#类型1、2题打印一行
line =[plus1, plus2, plus3]
lines= (29 * ' ').join(line)printlines
fobj.writelines(lines+ '\r\n' * 4)#类型3题打印一行
line =[plus4, plus5]
lines= (29 * ' ').join(line)printlines
fobj.writelines(lines+ '\r\n' * 4)
fobj.writelines(r'用时______分钟 对______题(共45题) 家长签名:')#一张A4纸上下各打印1份
oneday_homework()
fobj.writelines('\r\n' * 6)
oneday_homework()
fobj.close()
python怎么编写口算题_用Python开发小学二年级口算自动出题程序相关推荐
- python关于文件的编程题_《Python编程》源代码文件
压缩包 : bbc59749e0028c3f1ab3a1c9a762a6d.rar 列表 <Python编程>源代码文件/.gitignore <Python编程>源代码文件/ ...
- 小学数学开灯问题_三道简单的小学二年级的数学题,一遍过全对的还不到一半...
数学与工作.学习.生活息息相关,有时除了简单的运算,还需要结合生活中的常识. 下面三道小二年级的数学题,是某二年级数学老师出给自己班上学生的课堂练习,要求大家一遍过,不能修改.结果全对的还不到全班人数 ...
- python语言编写的modbus协议_基于Python的ModbusTCP客户端实现
Modbus协议是由Modicon公司(现在的施耐德电气Schneider Electric)推出,主要建立在物理串口.以太网TCP/IP层之上,目前已经成为工业领域通信协议的业界标准,广泛应用在工业 ...
- python漂亮界面 数独游戏源代码_使用Python编写数独游戏自动出题程序
原标题:使用Python编写数独游戏自动出题程序 数独是一个很好玩的游戏,可以锻炼推理能力.下面的代码可以自动生成数独游戏题目. fromrandom importshuffle, randrange ...
- 下列python语句的输出结果是_下列Python语句的输出结果是_______________。
[判断题]All arguments have a conclusion. (10.0分) [单选题]在关于学校萌芽的传说中,有一种学校的名称是"庠",这个场所是( ) [单选题] ...
- c4d python使用方法_Cinema 4D Python脚本编写必须知道的5行Python代码教程
Cinema 4D Python脚本编写必须知道的5行Python代码教程 在这期Cinema 4D python教程中的第一篇.Alpha Pixel将介绍如何使用python脚本进行设置,并查看一 ...
- 二年级上册计算题_小学二年级数学上册应用题与思维训练集锦500题
篇幅有限,下载电子版查看 一.想一想,填一填: 1.5+5+5+5+5+5+5=( )×( ) 4+4+4+3=( )×( )+( ) 2+2+2+2-1=( )×( ...
- 15拆分成3个不同的自然数_小学二年级奥数训练题之分拆
做奥数题有助于我们能力的提升,不仅在数学方面,其他方面也是很有帮助的,主要是让我们多动脑思考.下面为大家带来小学二年级奥数训练题. 小学二年级奥数训练题 整数分拆问题是一个古老而又十分有趣的问题.所谓 ...
- 11210怎么等于24_小学二年级的巧算24点.docx
二年级巧算24 点 1126 11310 1144 1127 1145 1128 1146 1129 1147 11210 1148 1134 1135 1136 1137 1138 1139 114 ...
- python怎么编写口算题_来出口算题—— Python编程
原标题:来出口算题-- Python编程 今天,小编带大家做一个实用的小程序,也就是计算题生成器. 低年级的小朋友,最需要提高的就是计算能力,而计算能力的提升离不开有效的练习,而手动出题总会有局限性, ...
最新文章
- 送餐机器人市场达11.6亿 美团将成“搅局者”?
- 进入公司前与Boss的会谈话
- 案例展示快做好了(更新)
- 【HTTP】get 和 post 两种基本请求方法
- java final内存机制_Java中的内存处理机制和final、static、final static总结
- C++ Templates 中的一个例子
- php mysql设计中验证码的实现_php如何实现验证码功能
- php算法求出一个数可以被分解成多少个_最全的小学干货:34个数学重难点公式(三)...
- java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection 解决
- Java多线程概念(一)
- 4.5 Spark SQL 处理JSON数据
- JS讲解跟遇到的问题
- 基于axis2的webservice和android简单的本地数据交互(下)
- [Unity]限制一个值的大小(Clamp以及Mathf)
- 二十五、JAVA多线程(六、线程控制操作)
- 查看电脑CPU是否支持虚拟化
- Windows使用cwRsync实现服务器文件同步到Linux服务器
- 用流量扫码总显示无法连接服务器,手机有流量但无法连接网络?手机数据网络不能访问互联网...
- springboot:实现文件上传下载实时进度条功能【附带源码】
- Done、Doing、ToDo
热门文章
- Docker Windows Containers
- xamarin.forms之 button图片位置的设置
- Android 图片与屏幕坐标点
- BZOJ 1122 [POI2008]账本BBB 神题
- 自定义纸张重启就没了
- 提升数据驱动能力的意义
- 计算机存储程序的理论由谁提出,存储程序的概念是由谁提出来的
- 国家图书馆认证中国长峰制定的《婴幼儿血管瘤临床路径》
- 根据程序流程图化程序流图_程序流程图有什么用?简单实用的流程图模板大全...
- 计算机科学基础word实验一,计算机基础实验报告