教你用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:

输出效果如下:

教你用Python为二年级的学生批量生成数学题

三.排版及其打印

在上面,我们得到了1500组随机生成的题目,我们复制到word里进行排版,方便打印操作:

进入分栏功能,将其调整为5栏。

教你用Python为二年级的学生批量生成数学题

效果如下:

教你用Python为二年级的学生批量生成数学题

然后就可以打印了。

教你用Python为二年级的学生批量生成数学题

我妹妹看这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

标签:python,批量生成,数学题
0
投稿

猜你喜欢

  • MAC下修改mysql默认字符集为utf8的方法

    2024-01-20 15:37:16
  • 在Vue-cli里应用Vuex的state和mutations方法

    2024-04-29 13:09:51
  • python安装scipy的步骤解析

    2021-09-09 03:20:36
  • docker-py 用Python调用Docker接口的方法

    2023-04-07 03:15:46
  • Vue过渡效果之CSS过渡详解(结合transition,animation,animate.css)

    2024-05-09 15:22:50
  • asp如何使用MsChart制图工具?

    2010-06-05 12:40:00
  • Oracle 存储过程总结 二、字符串处理相关函数

    2009-07-07 10:28:00
  • Python 解决OPEN读文件报错 ,路径以及r的问题

    2022-06-12 11:06:41
  • 细品Dreamweaver MX 2004内建FW技术

    2010-09-02 12:38:00
  • 在Pandas中导入CSV数据时去除默认索引的方法汇总

    2023-03-16 02:35:53
  • 教你用一行Python代码实现并行任务(附代码)

    2021-06-23 03:21:24
  • 怎么让别人看不到网页源代码

    2008-03-21 13:06:00
  • 树型结构列出指定目录里所有文件的PHP类

    2023-11-17 04:49:04
  • Python备份Mysql脚本

    2024-01-16 05:19:28
  • 如何使用PyTorch实现自由的数据读取

    2022-06-16 12:28:16
  • python用于url解码和中文解析的小脚本(python url decoder)

    2023-01-28 06:19:00
  • python 解压pkl文件的方法

    2022-01-11 02:41:55
  • Python 连接 MySQL 的几种方法

    2024-01-16 21:51:09
  • this.clientWidth和this.offsetWidth两个有什么不同

    2024-04-22 22:25:16
  • SQl Function 创建函数实例介绍

    2024-01-12 19:57:46
  • asp之家 网络编程 m.aspxhome.com