原新浪博客(http://blog.sina.com.cn/billsona)搬迁至此。

前言

暑假开始了,作为一个学渣的老爹,内心自然是崩溃的。
一年级数学老师布置的一项暑假作业是,小朋友每天完成20道口算和5道两位数的竖式计算。
作为一个资深IT民工,立马想到了用代码自动生成题目,这么有规律的要求,人怎么可能比得过机器的速度和精准度?说干就干,一个小时后,出现了如下的代码,运行环境是python3。


import randomstring = ""
for day in range(1, 61):string = string + "\nThis is day " + str(day) + "\n"# 用来记录每天的题目个数k = 0# 用来记录每行算术题的个数num = 0# 取999999是为了保证能够每天生成20道符合要求的题目for i in range(0, 999999):if k < 20:flag = random.choice([" + ", " - "])exp = ""# 如果是加号,保证两个数都不超过50,目前学的都是100以内的数if flag == " + ":a = str(random.randint(1, 50)).ljust(2, " ")b = str(random.randint(1, 50)).ljust(2, " ")exp = a + flag + b + " ="# 如果是减号,保证被减数和减数都小于100即可else:a = random.randint(1, 100)b = random.randint(1, 100)# 保证较大的数作为被减数if a < b:tmp = aa = bb = tmpa = str(a).ljust(2, " ")b = str(b).ljust(2, " ")exp = a + flag + b + " ="if num < 3:string = string + exp + "        "num = num + 1# 达到4个题目,换行else:string = string + exp + "\n"num = 0k = k + 1# 用来记录每天的题目个数k = 0# 定义一个列表,用来存放竖式计算的题目,列表当中的元素是一个长度为2的列表,第一个元素是数啊,第二个元素是符号(+/-)和b# 例如list=[[11, + 22], [33, + 44]]list = []# 取999999是为了保证能够每天生成20道符合要求的题目for i in range(0, 999999):# 每行放置5道竖式计算题,保证竖式计算中的两个数都是两位数,并且加法的时候,两个数都不超过50if k < 5:flag = random.choice(["+ ", "- "])if flag == " + ":a = "   " + str(random.randint(10, 50)) + "   " + "        "b = " " + flag + str(random.randint(10, 50)) + "  " + "        "else:a = random.randint(10, 99)b = random.randint(10, 99)if a < b:tmp = aa = bb = tmp# 设置特定数量的空格或者tab,是为了保证竖式是对齐的,美观的,可读的a = "   " + str(a) + "   " + "       "b = " " + flag + str(b) + "  " + "        "list.append([a, b])k = k + 1# 因为是逐行打印,所以将5道竖式题目中的a,组成单独的一行打印line1 = list[0][0] + list[1][0] + list[2][0] + list[3][0] + list[4][0] + "\n"# 因为是逐行打印,所以将5道竖式题目中的+/-号和b,组成单独的一行打印line2 = list[0][1] + list[1][1] + list[2][1] + list[3][1] + list[4][1] + "\n"# 因为是逐行打印,所以将5道竖式题目中的横线,组成单独的一行打印ttt = "--------       "line3 = ttt + ttt + ttt + ttt + ttt + "\n\n"  # 打印完横线后,空一行便于孩子写结果string = string + line1 + line2 + line3print(string)

运行结果如下:

2019.07.一年级暑假——自动随机生成100以内加减法算术题的python实现相关推荐

  1. 随机生成100以内加减法算式

    import java.util.*; //实现生成随机三个数,并且把这三个数随机加减法.结果是100以内的,而且生成的题目数量是可控的 public class Four {//public sta ...

  2. 随机输出100以内加减法

    import randomexp1, exp2 = "", "" str1, str2 = "", "" j = 0 c ...

  3. 100以内加减法练习程序(Python实现)

    程序功能:随机生成100以内的加减法练习题目,并可对用户的作答结果进行判断和提示,最后统计用户回答的正确率.有了该程序,监护人再也不用一个个的为孩子出题了,小孩也可及时得到反馈. 程序运行效果如下图所 ...

  4. 随机生成100万个数,排序后保存在文件中

    随机生成100万个数,存储在文件out1.txt中,使用内部排序完成,并重新储存在文件out2.txt中. (一)使用STL中的qsort函数进行操作: #include "stdio.h& ...

  5. 随机生成100个卡号题目

    随机生成100个卡号 1).卡号以6102009开头, 后面3位依次是 (001, 002, 003, 100), 2). 生成关于银行卡号的字典, 默认每个卡号的初始密码为"redhat& ...

  6. 利用EXCEL自动生成20以内加减法

    小学开始学计算题的时候,经常需要练习10以内加减法,20以内加减法等等,每天找题目让人比较头疼,自己写又比较耗时间,于是想着利用表格中的随机函数能不能自动生成习题.在网上找了几个方法试着弄了一下成功了 ...

  7. Java小程序--随机生成50道加减法算数题

    程序概述: 通过窗体随机生成50道加减法算数题并显示.用户可以做该50道算术题,做完提交系统之后,系统会给出用户的正确率.用户可以重置这50道算术题. 界面显示: 程序设计基本思路: (1)首先顺序建 ...

  8. 数学一年级应用题_一年级数学下册100以内加减法应用题,给孩子下载!

    100以内加减法(经典练习题) 因篇幅有限,只展示部分内容▼ 一.解决问题. 1.拔了50个萝卜,拔了20个萝卜,两只兔子一共拔了多少个萝卜? □○□=□(  ) 2.小图书室有90本故事书,借出40 ...

  9. 时间计算题100道_B5 小学二年级数学100以内加减法口算计算题横式电子版3600道题 直接打印...

    灵活高效的计算能力是学好数学的基础,对孩子未来的学习成绩.学习习惯影响巨大!要想在数学学科上取得好成绩,那么在口算.计算上一定不能犯粗心马虎的错误,越是简单越不能忽视. 此套100以内加减法口算计算题 ...

  10. 前端应用 - 实现100以内加减法的连线习题兼容移动端

    html主页面(index.html): <html xmlns="http://www.w3.org/1999/xhtml"> <head>     &l ...

最新文章

  1. 保洁阿姨看完都会了!java图形界面设计代码
  2. 20161023 NOIP 模拟赛 T1 解题报告
  3. AutoLayout框架之序言
  4. 去掉桌面快捷方式小箭头的方法
  5. python反转列表_Python实现list反转实例汇总
  6. android json 解析图片路径,Android 使用Gson解析Asset 目录下的.json文件
  7. vue中如何设置和清除定时器setInterval
  8. 担心再次被起诉?马斯克已删除特斯拉可能几个月内成为最大公司推文
  9. 江西 高职 分数 计算机,快讯!江西高职(专科)批次各高校投档分数线出炉…...
  10. 《算法设计与分析》一一第3章 线性表的遍历
  11. 十五部必藏之经典日剧(给喜欢怀旧的朋友)--转贴,的确经典,还有很多没看过,不过排名前二都看了,呵呵...
  12. 导致W3WP进程会重起情况
  13. WIFI6 5G信道、频宽对应关系
  14. 自建pop邮件服务器,POP是什么?怎样开通?
  15. 实战 | 一步步排查基于业务场景的Elasticsearch难题!
  16. kali安装Netspeed
  17. GBase 8c应用场景分析
  18. C++ Awkward Digits
  19. Android开源的社交应用
  20. 前端基础-Node.js核心模块的使用

热门文章

  1. pigeon-remoting模块功能分析
  2. DB2数据库生成html巡检报告
  3. Xcelsius 2008和Crystal Xcelsius Professional 4.5截图对比
  4. window 系统丢失北京时区解决方案
  5. 系统运维工程师的法宝:python paramiko
  6. 毕业生怎样尽快把自己打造成国际专家级人物?
  7. Win10上如何显示本地lrc文件歌词——lrc播放器——《超级lrc播放器》
  8. 如何用excel筛选相似内容_如何excel中筛选两个表中相同的数据
  9. python编写贪吃蛇大战_用Python实现贪吃蛇双人大战
  10. 【Burp Suite实战指南】【定期更新】