python实现四则运算_自动生成四则运算题目(python实现)

本文介绍了如何使用Python实现自动生成不含有负数结果且数字在100以内的四则运算表达式,包括真分数运算。通过生成后缀表达式并求解,项目包含了单元测试确保正确性。文章详细解析了生成和求解表达式的过程,以及进行了性能分析。
摘要由CSDN通过智能技术生成

自动生成四则运算题目(python实现)

项目分析

项目仓库: 地址

需求

仅包含四则运算

结果不能为负数

数字大小在 100 以内

支持真分数运算

设计实现过程及代码说明

项目文件结构如下:

模块

功能

main.py

主函数(表达式生成, 表达式的求解)

mainTest.py

测试函数(单元测试)

1. 分析与设计

本设计设计栈的使用, 逆波兰表达式(后缀表达式)

表达式式生成

仔细分析有如下特点:

运算符的个数比运算数少一个

被除数不能为 0

具体实现步骤

利用 Python 的字符串来存储表达式

随机生成一个运算数

再随机选择一个四则运算符

重复步骤 1 和 2

为了美观和操作方便, 表达式中运算符和运算数使用空格隔开

求解表达式

将中缀表达式转换为后缀表达式, 再进行求值

具体代码实现

表达式生成代码

def makeFormula(upperLimit=100, fraction=False) -> str:

if fraction:

upperLimit = 20

count = randint(4, 8)

else:

count = randint(1, 3)

build = ""

number1 = randint(1, upperLimit)

build += str(number1)

for i in range(count):

if fraction and (i+1) %

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值