0
点赞
收藏
分享

微信扫一扫

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


1-100算式练习题自动生成器

  • ​​主界面​​
  • ​​主要功能​​
  • ​​示例图片​​
  • ​​算式生成核心源码如下​​
  • ​​生成可执行的exe文件​​
  • ​​完整代码与exe文件​​

主界面

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

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

主要功能

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

示例图片

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

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

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

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

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

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

不含答案的word文档如下:

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

含答案的word文档如下:

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

算式生成核心源码如下

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

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

完整代码与exe文件

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

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

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

更多干货内容持续更新中......


举报

相关推荐

0 条评论