【Pyqt实战】1-100算式练习题自动生成器(含UI界面,python代码),可自行选择参数

主界面

请添加图片描述

最近用Pyqt5编写了一个算式题自动生成器,可自动生成1-100以内的加减乘除算式题,并存储为word文档文件,可以供小孩打印练习。

主要功能

  1. 可自行选择数字范围,1-100以内的计算
  2. 可以选择自动生成的word文档页数
  3. 可选择算式类型,可以多选,则会生成不同类型的混合算式题
  4. 点击“一键生成按钮‘,即可生成2份算式题文档,一份含答案,一份不含答案

示例图片

​ 选择数字范围:1-20,计算类型:加法与减法,然后生成算式题。
请添加图片描述

点击:“一键生成算式题”,结果如下:

请添加图片描述

生成两个word文档,一份含答案,一份不含答案。

请添加图片描述

不含答案的word文档如下:

请添加图片描述

含答案的word文档如下:

请添加图片描述

算式生成核心源码如下

    def genetator(self):
        res = self.init_params()
        if not res:
            return
        # 存储不含答案的数据
        data = []  # 储存题目的列表
        group = []  # 中转列表

        # 存储含答案的数据
        res_data = []
        res_group = []

        while len(data) < 20 * self.page_num:
            # 随机生成计算的两个数字
            num1 = random.randint(self.num_min, self.num_max)
            num2 = random.randint(self.num_min, self.num_max)
            # 随机选择所选择的计算类型
            choose_type = random.choice(self.choose_type)
            if choose_type == '加法':
                group.append(f"{num1} + {num2} = ")  # 数据放入中转列表
                res_group.append(f"{num1} + {num2} = {num1 + num2}")
            elif choose_type == '减法':
                if num1 >= num2:
                    group.append(f"{num1} - {num2} = ")
                    res_group.append(f"{num1} - {num2} = {num1 - num2}")
                else:
                    group.append(f"{num2} - {num1} = ")
                    res_group.append(f"{num2} - {num1} = {num2 - num1}")
            elif choose_type == '乘法':
                group.append(f"{num1} × {num2} = ")
                res_group.append(f"{num1} × {num2} = {num1 * num2}")
            else:
                if num1 >= num2 and num1 % num2 == 0:
                    # 必须能整除
                    group.append(f"{num1} ÷ {num2} = ")
                    res_group.append(f"{num1} ÷ {num2} = {num1/num2}")
            
            if len(group) == 4:  # 按四道题分一组
                data.append(group)  # 数据放入总列表
                group = []  # 清空中转列表
                res_data.append(res_group) # 含答案的数据放入总列表
                res_group = [] # 清空中转列表
        # 将数据保存为word文档,一份含答案,一份不含答案
        self.To_word(data, self.save_path)
        self.save_path_res = self.save_path.split('.docx')[0] + '(含答案).docx'
        print(self.save_path_res)
        self.To_word(res_data, self.save_path_res)

生成可执行的exe文件

使用pyinstaller库的以下命令就可以生成可执行的exe文件:

pyinstaller -F CallMainwin.py -n equationGenarator -w

请添加图片描述

完整代码与exe文件

感兴趣的小伙伴可以通过关注以下方式获取完整源码,大家可以共同学习交流。

关注本人下面公众号“阿旭算法与机器学习”,发送:算式生成器,即可获取下载链接。

在这里插入图片描述

如果内容对你有帮助,记得点赞、关注哦!也欢迎小伙伴们和我共同学习交流。

更多干货内容持续更新中......
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿_旭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值