0033【Edabit ★☆☆☆☆☆】【字符串表达式计算器】Miserable Parody of a Calculator

0033【Edabit ★☆☆☆☆☆】【字符串表达式计算器】Miserable Parody of a Calculator

algebra math strings

Instructions

Create a function that will handle simple math expressions. The input is an expression in the form of a string.

Examples
javascript 复制代码
calculator("23+4") // 27
calculator("45-15") // 30
calculator("13+2-5*2") // 5
calculator("49/7*2-3") // 11
Notes
  • There will be no brackets in the input line.
  • No need to calculate mathematical functions (sin, cos, ln...).
  • There are no gaps in the expression.
Solutions
javascript 复制代码
function calculator(str) {
    return eval(str)
}
TestCases
javascript 复制代码
let Test = (function(){
    return {
        assertEquals:function(actual,expected){
            if(actual !== expected){
                let errorMsg = `actual is ${actual},${expected} is expected`;
                throw new Error(errorMsg);
            }
        }
    }
})();

Test.assertEquals(calculator("23+4"), 27)
Test.assertEquals(calculator("45-15"), 30)
Test.assertEquals(calculator("13+2-5*2"), 5)
Test.assertEquals(calculator("49/7*2-3"), 11)
Test.assertEquals(calculator("2+2*2"), 6)
Test.assertEquals(calculator("5/2"), 2.5)
Test.assertEquals(calculator("-34/4"), -8.5)
Test.assertEquals(calculator("0+43-0+56*0"), 43)
Test.assertEquals(calculator("-14*2-37-0"), -65)
Test.assertEquals(calculator("0*0"), 0)
Test.assertEquals(calculator("4+2+3-5*2-8/4-12-0+3-14"), -26)
Test.assertEquals(calculator("9/2+9/4"), 6.75)
Test.assertEquals(calculator("56*27*18*12/2*0"), 0)
Test.assertEquals(calculator("34/4*0*45*7"), 0)
相关推荐
daidaidaiyu1 天前
JMS, ActiveMQ 学习一则
java
weixin_704266051 天前
SpringBoot全注解开发指南
java·spring boot·mybatis
星如雨グッ!(๑•̀ㅂ•́)و✧1 天前
Webflux fromXXX对比
java
美狐美颜sdk1 天前
从人脸关键点到动态贴图:面具特效在美颜SDK中的实现原理
前端·图像处理·人工智能·直播美颜sdk·美颜api
我命由我123451 天前
React Router 6 - 编程式路由导航、useInRouterContext、useNavigationType
前端·javascript·react.js·前端框架·html·ecmascript·js
威联通网络存储1 天前
告别掉帧与素材损毁:威联通 QuTS hero 如何重塑影视后期协同工作流
前端·网络·人工智能·python
anOnion1 天前
构建无障碍组件之Tabs Pattern
前端·html·交互设计
competes1 天前
学生需求 交易累计积分,积分兑换奖品
java·大数据·开发语言·人工智能·java-ee
小羊子说1 天前
Android系统中 socketpair 的源码解读与应用分析小结
android·java
splage1 天前
Java进阶——IO 流
java·开发语言·python