教你用Python为二年级的学生批量生成数学题
作者:上进小菜猪 发布时间:2023-12-21 13:15:42
一.使用Python为二年级的学生批量生成数学题
1.1 背景
我妹妹今年上二年级,她的老师今天给他们布置了一项作业:
从今天起到开学,每天坚持做20道乘法和加减法混合运算。
在和我妹妹详细了解了他们的作业要求后,得出下面的本次任务需求:
需求总结:
出题形式为a×b+/-c=?或者a+/-b×c=?
乘法为一位数(0~9)
加减数范围为(0~100)
没有学过负数
二.解决思路及其代码
1.先引入random库,用于生成随机数:
import random
2.让其循环2000次,以便于生成符合条件的式子:
for i in range(2000):
3.变量定义:
maxnum:被加或者被减数。
minnum1:乘数1。
minnum2:乘数2。
fu1:数组,用于存储,加法还是减法。
funumber:随机生成下标,用于随机生成加号还是减号。
maxnum = random.randint(0, 99)
minnum1=random.randint(0, 9)
minnum2 = random.randint(0, 9)
fu1=["-","+"]
funumber=random.randint(0, 1)
4.因为有俩种形式:出题形式为a×b+/-c=?或者a+/-b×c=?
我使用偶数和奇数来区分他们。
if i % 2 ==0 :
5.控制台输出一下,现在的样式:
print(minnum1,"×",minnum2,fu1[funumber],maxnum,"=" )
6.由于没有学过负数,需要排除负数的情况:
lastnumber=0
lastnumber为最后的结果。
7.判断一下减号和加号的情况,其实区分负数无需算加法,但是方便之后出答案,还是写了一下:
if fu1[funumber] == "-" :
lastnumber=minnum1*minnum2-maxnum
if fu1[funumber] == "+":
lastnumber = minnum1 * minnum2 + maxnum
8.写一个字符串存放字符,data,将本次的循环结果放入。
data=str(minnum1)+"×"+str(minnum2)+str(fu1[funumber])+str(maxnum)+"="
print(data)
9.判断一下如果最后的结果大于等于0,说明没有负数。符合本次的要求,对其进行存储操作。
if lastnumber>=0:
f = open("zhuke.txt", "a")
f.write(data+"\n")
f.close()
10.这是前面的我使用偶数和奇数来区分他们。奇数奇数形式改变了,思路还是没有变化的。就不详细写了。
else:
输出效果如下:
三.排版及其打印
在上面,我们得到了1500组随机生成的题目,我们复制到word里进行排版,方便打印操作:
进入分栏功能,将其调整为5栏。
效果如下:
然后就可以打印了。
我妹妹看这1500道题目高兴坏了🙀,她会不会想有这样一个关心她的哥哥真好[狗头]。
四.本文源码
import random
for i in range(2000):
maxnum = random.randint(0, 99)
minnum1=random.randint(0, 9)
minnum2 = random.randint(0, 9)
fu1=["-","+"]
funumber=random.randint(0, 1)
if i % 2 ==0 :
print(minnum1,"×",minnum2,fu1[funumber],maxnum,"=" )
lastnumber=0
if fu1[funumber] == "-" :
lastnumber=minnum1*minnum2-maxnum
if fu1[funumber] == "+":
lastnumber = minnum1 * minnum2 + maxnum
data=str(minnum1)+"×"+str(minnum2)+str(fu1[funumber])+str(maxnum)+"="
print(data)
if lastnumber>=0:
f = open("zhuke.txt", "a")
f.write(data+"\n")
f.close()
else:
print(maxnum, fu1[funumber],minnum1, "×", minnum2, "=" )
lastnumber=0
if fu1[funumber] == "-" :
lastnumber=maxnum - minnum1 * minnum2
if fu1[funumber] == "+":
lastnumber = maxnum + minnum1 * minnum2
data = str(maxnum) +str( fu1[funumber]) + str(minnum1) + "×"+ str(minnum2) + "="
print(data)
if lastnumber >= 0:
f = open("zhuke.txt", "a")
f.write(data + "\n")
f.close()
来源:https://blog.csdn.net/weixin_52908342/article/details/128715556


猜你喜欢
- 堆排序堆是一种完全二叉树(是除了最后一层,其它每一层都被完全填充,保持所有节点都向左对齐),首先需要知道概念:最大堆问题,最大堆就是根节点比
- asyncio 的一个好处是我们可以同时运行许多协程。这些协同程序可以在一个组中创建并存储,然后同时一起执行。这可以使用 asyncio.g
- 我们有时候,看到几k的日志文件,一大堆,一个一个打开又很麻烦,少看几个,又担心遗漏,这个时候,如果有一个可以合并所有文本文件的工具就好了。下
- 本文分析了MySQL中create table as 与like的区别。分享给大家供大家参考,具体如下:大家可能使用Navicat Prem
- 一、pyqt5中动画的继承关系图二、关于QAbstractAnimation父类的认识1、主要作用继承此类, 实现一些自定义动画所有动画共享
- 下载GPL版本安装MySQL Community Edition(GPL)Community (GPL) Downloads &ra
- 引言为了深入学习 kube-scheduler,本系从源码和实战角度深度学 习kube-scheduler,该系列一共分6篇文章,如下:ku
- 1、Mycat 应用场景Mycat 发展到现在,适用的场景已经很丰富,而且不断有新用户给出新的创新性的方案,以下是几个典型的应用场景:1.
- Python中除了字典,列表,元组还有一个非常好用的数据结构,那就是set了,灵活的运用set可以减去不少的操作(虽然set可以用列表代替)
- 在开始聊我在阿里四个月的网页推广设计之前,我想先来说说我对平面设计和网页设计的认识。它们之间的交集。它们都是集艺术创作、电脑技术和数字技术于
- 统计十篇新闻TF-IDF统计TF-IDF词频,每篇文章的 top10 的高频词存储为 json 文件TF-IDFTF-IDF(term fr
- Python 变量类型 变量存储在内存中的值。这就意味着在创建变量时会
- 很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---
- Flask解决跨域1、下载flask_cors包pip install flask-cors2、使用flask_cors的CORS代码示例f
- 效果展示:程序简介1.使用pygame模组2.在material目录下有一些素材3.吃豆人的游戏主体4.吃豆人怪物的AI(未使用深度学习)主
- MySQL查询交集、并集、差集背景和使用的数据样本该章节学些主要涉及到Datawhale SQL 组队学习任务;本次使用的数据,由Dataw
- 在cssrain整理的一个 试题集 中有这么一道题:<SCRIPT LANGUAGE="JavaScript"&g
- 常规方案使用FileReader以utf-8格式读取文件,根据文件内容是否包含乱码字符�,来判断文件是否为utf-8。如果存在�,即文件编码
- 函数原型resample(self, rule, how=None, axis=0, fill_method=None, closed=No
- goroutine简介goroutine是go语言中最为NB的设计,也是其魅力所在,goroutine的本质是协程,是实现并行计算的核心。g