crazydingo 发表于 2022-10-25 13:42

10以内加减法生成

娃上 一年级了,要开始学计算了,网上找的题目生成器都有点问题,因为是计算结果是10以内,而不是选的数字是10以内的加减法。
就自己写了一个,比较粗糙啊,不过可以改改后续,比如生成20以内的,100以内的,都可以的。
娃不容易,做父母的也不容易啊。
import random
import xlrd
import xlwt
import os

filename = 'count10.xls'   #检测当前目录下是否有count10.xls文件,如果有则清除以前保存文件
if os.path.exists(filename):
os.remove(filename)

book=xlwt.Workbook(encoding='utf-8',style_compression=0)
sheet1=book.add_sheet('10以内加减法',cell_overwrite_ok=True)

style = xlwt.XFStyle()#格式信息
font = xlwt.Font()#字体基本设置
font.name = u'Times New Roman'
font.color = 'black'
font.height= 360 #字体大小,18 号字体
style.font = font
alignment = xlwt.Alignment() # 设置字体在单元格的位置
alignment.horz = xlwt.Alignment.HORZ_CENTER #水平方向
alignment.vert = xlwt.Alignment.VERT_CENTER #竖直方向

#调整下excel表的格式
sheet1.col(1).width = 256 * 3
sheet1.col(2).width = 256 * 3
sheet1.col(3).width = 256 * 3
sheet1.col(4).width = 256 * 3
sheet1.col(5).width = 256 * 6
sheet1.col(6).width = 256 * 3
sheet1.col(7).width = 256 * 3
sheet1.col(8).width = 256 * 3
sheet1.col(9).width = 256 * 3
sheet1.col(10).width = 256 * 6
sheet1.col(11).width = 256 * 3
sheet1.col(12).width = 256 * 3
sheet1.col(13).width = 256 * 3
sheet1.col(14).width = 256 * 3
sheet1.col(15).width = 256 * 6
sheet1.col(16).width = 256 * 3
sheet1.col(17).width = 256 * 3
sheet1.col(18).width = 256 * 3
sheet1.col(19).width = 256 * 3
sheet1.col(20).width = 256 * 6
sheet1.col(21).width = 256 * 3
sheet1.col(22).width = 256 * 3
sheet1.col(23).width = 256 * 3
sheet1.col(24).width = 256 * 3
sheet1.col(25).width = 256 * 6


for j in range(1,42,2):
for i in range(0,5):
    symbol = random.choice(['+', '-'])# 随机加减
    a = random.randint(1, 9)# 随机取整数
    if symbol == '+':
      count_resutl = random.randint(a, 10)# 随机生成计算结果
      b = count_resutl - a
      print(str(a) +"+"+str(b) + "=" + str(count_resutl))
      sheet1.write(j,i*5+1,str(a),style)
      sheet1.write(j,i*5+2,"+",style)
      sheet1.write(j,i*5+3,str(b),style)
      sheet1.write(j,i*5+4,"=",style)
    if symbol == '-':
      b = random.randint(0, a)
      count_resutl = a - b
      print(str(a) + "-" + str(b) + "=")
      sheet1.write(j, i*5+1, str(a),style)
      sheet1.write(j, i*5+2, "-",style)
      sheet1.write(j, i*5+3, str(b),style)
      sheet1.write(j, i*5+4, "=",style)


savepath='count10.xls'
book.save(savepath)

blannk 发表于 2024-6-25 09:44

哥们,这个脚本,我保存为 py的文件之后,可以打开(打开方式为pycharm)然后会有一个excel文件产生。
我的问题是:
我用pyinstaller 封装成exe的文件,但是双击这个exe的文件,没什么动静啊。
很奇怪。你知道什么原因吗?

crazydingo 发表于 2022-10-27 19:52

Helli 发表于 2022-10-27 17:37
建议转exe,好用

我主要觉得大家可以用来修改,简单改改就可以改为20以内加减法,或者100以内加减法。
再多改改,还可以加入加减乘除。

lhk0207 发表于 2022-10-25 13:49

不会玩Python的路过支持一下

likaiaixuexi 发表于 2022-10-25 13:58

这就很牛了,佩服,省的自己想题

fanbinxing 发表于 2022-10-25 14:11

哇,这么厉害,这也可以,可惜我家娃已经上五年级用不到了

crazydingo 发表于 2022-10-25 14:13

fanbinxing 发表于 2022-10-25 14:11
哇,这么厉害,这也可以,可惜我家娃已经上五年级用不到了

二胎用起来:lol

jtq1234 发表于 2022-10-25 14:28

好吧,我不会p。。
只会exe

qingyou1298 发表于 2022-10-25 15:10

学以致用,加以推广

cxl 发表于 2022-10-25 15:35

可以升级一下123456年级可以用了

crazydingo 发表于 2022-10-25 15:44

cxl 发表于 2022-10-25 15:35
可以升级一下123456年级可以用了

等我家娃娃上到后面,再改吧。 :Dweeqw

ilovei 发表于 2022-10-25 15:48

不错,谢谢分享。
页: [1] 2 3
查看完整版本: 10以内加减法生成