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

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

主界面

ef2ee02254f448de82ff892d588caf50.png

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


主要功能


  1. 可自行选择数字范围,1-100以内的计算


  1. 可以选择自动生成的word文档页数


  1. 可选择算式类型,可以多选,则会生成不同类型的混合算式题


  1. 点击“一键生成按钮‘,即可生成2份算式题文档,一份含答案,一份不含答案


示例图片


选择数字范围:1-20,计算类型:加法与减法,然后生成算式题。


d4c3319e49a844afadb89e0fc9392247.png


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


c7c235fc2cae4345b09a73181e42be44.png


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


66ea8bed9b674908b92d476b3466b5fc.jpg


不含答案的word文档如下:


85bfe07e0ad44072a069354c960f43e3.png


含答案的word文档如下:


1e23de9b1fff4718b7cf9505f16fd0fa.png

算式生成核心源码如下


    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


64d176d2ee9f4060b9243527d2b2ec67.png

完整代码与exe文件


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

相关文章
|
9月前
|
Web App开发 前端开发 JavaScript
Playwright极速UI自动化实战指南
Playwright告别Selenium痛点,以智能等待、强大选择器、网络拦截与多设备模拟四大利器,提升自动化效率与稳定性。本文通过实战代码详解其加速秘籍,助你构建高效、可靠的UI测试方案。
|
11月前
|
人工智能 数据安全/隐私保护 Python
小红书图文生成器,小红书AI图文生成工具,python版本软件
Pillow库自动生成符合平台尺寸要求的配图7;3)利用Playwright实现自动化发布流程6。
|
9月前
|
存储 消息中间件 人工智能
【04】AI辅助编程完整的安卓二次商业实战-寻找修改替换新UI首页图标-菜单图标-消息列表图标-优雅草伊凡
【04】AI辅助编程完整的安卓二次商业实战-寻找修改替换新UI首页图标-菜单图标-消息列表图标-优雅草伊凡
564 4
|
8月前
|
人工智能 自然语言处理 JavaScript
Playwright MCP在UI回归测试中的实战:构建AI自主测试智能体
Playwright MCP结合AI智能体,革新UI回归测试:通过自然语言驱动浏览器操作,降低脚本编写门槛,提升测试效率与覆盖范围。借助快照解析、智能定位与Jira等工具集成,实现从需求描述到自动化执行的闭环,推动测试迈向智能化、民主化新阶段。
|
9月前
|
存储 大数据 Unix
Python生成器 vs 迭代器:从内存到代码的深度解析
在Python中,处理大数据或无限序列时,迭代器与生成器可避免内存溢出。迭代器通过`__iter__`和`__next__`手动实现,控制灵活;生成器用`yield`自动实现,代码简洁、内存高效。生成器适合大文件读取、惰性计算等场景,是性能优化的关键工具。
440 2
|
9月前
|
JavaScript 前端开发 开发者
鸿蒙应用开发从入门到实战(六):ArkTS声明式UI和组件化
鸿蒙开发语言ArkTS在继承了Typescrip语法的基础上,主要扩展了声明式UI开发相关的能力。
413 1
|
10月前
|
传感器 数据采集 监控
Python生成器与迭代器:从内存优化到协程调度的深度实践
简介:本文深入解析Python迭代器与生成器的原理及应用,涵盖内存优化技巧、底层协议实现、生成器通信机制及异步编程场景。通过实例讲解如何高效处理大文件、构建数据流水线,并对比不同迭代方式的性能特点,助你编写低内存、高效率的Python代码。
377 0
|
9月前
|
大数据 数据处理 数据安全/隐私保护
Python3 迭代器与生成器详解:从入门到实践
简介:本文深入解析Python中处理数据序列的利器——迭代器与生成器。通过通俗语言与实战案例,讲解其核心原理、自定义实现及大数据处理中的高效应用。
462 0
|
11月前
|
存储 API 数据库
自动发短信的软件,批量自动群发短信,手机号电话号生成器【python框架】
这个短信群发系统包含以下核心功能: 随机手机号生成器(支持中国号码) 批量短信发送功能(使用Twilio API)
|
10月前
|
传感器 人工智能 JavaScript
Playwright实战:写UI自动化脚本,速度直接起飞
简介: 测试工程师老王因UI自动化问题深夜奋战,反映出传统测试工具的局限性。微软开源的Playwright凭借智能等待、跨域操作、移动端模拟与网络拦截等强大功能,正迅速取代Selenium,成为新一代自动化测试标准。其稳定高效的设计显著降低维护成本,助力企业构建高质量测试流程。

推荐镜像

更多