#-*- 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开发小学二年级口算自动出题程序相关推荐

  1. python关于文件的编程题_《Python编程》源代码文件

    压缩包 : bbc59749e0028c3f1ab3a1c9a762a6d.rar 列表 <Python编程>源代码文件/.gitignore <Python编程>源代码文件/ ...

  2. 小学数学开灯问题_三道简单的小学二年级的数学题,一遍过全对的还不到一半...

    数学与工作.学习.生活息息相关,有时除了简单的运算,还需要结合生活中的常识. 下面三道小二年级的数学题,是某二年级数学老师出给自己班上学生的课堂练习,要求大家一遍过,不能修改.结果全对的还不到全班人数 ...

  3. python语言编写的modbus协议_基于Python的ModbusTCP客户端实现

    Modbus协议是由Modicon公司(现在的施耐德电气Schneider Electric)推出,主要建立在物理串口.以太网TCP/IP层之上,目前已经成为工业领域通信协议的业界标准,广泛应用在工业 ...

  4. python漂亮界面 数独游戏源代码_使用Python编写数独游戏自动出题程序

    原标题:使用Python编写数独游戏自动出题程序 数独是一个很好玩的游戏,可以锻炼推理能力.下面的代码可以自动生成数独游戏题目. fromrandom importshuffle, randrange ...

  5. 下列python语句的输出结果是_下列Python语句的输出结果是_______________。

    [判断题]All arguments have a conclusion. (10.0分) [单选题]在关于学校萌芽的传说中,有一种学校的名称是"庠",这个场所是( ) [单选题] ...

  6. c4d python使用方法_Cinema 4D Python脚本编写必须知道的5行Python代码教程

    Cinema 4D Python脚本编写必须知道的5行Python代码教程 在这期Cinema 4D python教程中的第一篇.Alpha Pixel将介绍如何使用python脚本进行设置,并查看一 ...

  7. 二年级上册计算题_小学二年级数学上册应用题与思维训练集锦500题

    篇幅有限,下载电子版查看 一.想一想,填一填: 1.5+5+5+5+5+5+5=(  )×(   ) 4+4+4+3=(    )×(    )+(    ) 2+2+2+2-1=(    )×(   ...

  8. 15拆分成3个不同的自然数_小学二年级奥数训练题之分拆

    做奥数题有助于我们能力的提升,不仅在数学方面,其他方面也是很有帮助的,主要是让我们多动脑思考.下面为大家带来小学二年级奥数训练题. 小学二年级奥数训练题 整数分拆问题是一个古老而又十分有趣的问题.所谓 ...

  9. 11210怎么等于24_小学二年级的巧算24点.docx

    二年级巧算24 点 1126 11310 1144 1127 1145 1128 1146 1129 1147 11210 1148 1134 1135 1136 1137 1138 1139 114 ...

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

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

最新文章

  1. 送餐机器人市场达11.6亿 美团将成“搅局者”?
  2. 进入公司前与Boss的会谈话
  3. 案例展示快做好了(更新)
  4. 【HTTP】get 和 post 两种基本请求方法
  5. java final内存机制_Java中的内存处理机制和final、static、final static总结
  6. C++ Templates 中的一个例子
  7. php mysql设计中验证码的实现_php如何实现验证码功能
  8. php算法求出一个数可以被分解成多少个_最全的小学干货:34个数学重难点公式(三)...
  9. java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection 解决
  10. Java多线程概念(一)
  11. 4.5 Spark SQL 处理JSON数据
  12. JS讲解跟遇到的问题
  13. 基于axis2的webservice和android简单的本地数据交互(下)
  14. [Unity]限制一个值的大小(Clamp以及Mathf)
  15. 二十五、JAVA多线程(六、线程控制操作)
  16. 查看电脑CPU是否支持虚拟化
  17. Windows使用cwRsync实现服务器文件同步到Linux服务器
  18. 用流量扫码总显示无法连接服务器,手机有流量但无法连接网络?手机数据网络不能访问互联网...
  19. springboot:实现文件上传下载实时进度条功能【附带源码】
  20. Done、Doing、ToDo

热门文章

  1. Docker Windows Containers
  2. xamarin.forms之 button图片位置的设置
  3. Android 图片与屏幕坐标点
  4. BZOJ 1122 [POI2008]账本BBB 神题
  5. 自定义纸张重启就没了
  6. 提升数据驱动能力的意义
  7. 计算机存储程序的理论由谁提出,存储程序的概念是由谁提出来的
  8. 国家图书馆认证中国长峰制定的《婴幼儿血管瘤临床路径》
  9. 根据程序流程图化程序流图_程序流程图有什么用?简单实用的流程图模板大全...
  10. 计算机科学基础word实验一,计算机基础实验报告