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)
相关推荐
用坏多个鼠标6 分钟前
Nacos和Nginx集群,项目启动失败问题
java·开发语言
老程序员刘飞6 分钟前
node.js 和npm 搭建项目基本流程
前端·npm·node.js
歪歪10021 分钟前
在C#中除了按属性排序,集合可视化器还有哪些辅助筛选的方法?
开发语言·前端·ide·c#·visual studio
TangKenny26 分钟前
基于EasyExcel的动态列映射读取方案
java·easyexcel
安冬的码畜日常27 分钟前
【JUnit实战3_19】第十章:用 Maven 3 运行 JUnit 测试(下)
java·测试工具·junit·单元测试·maven·junit5
lemon_sjdk37 分钟前
软件开发模式架构选择
java·架构·软件开发·前后端分离
wangbing11251 小时前
开发指南139-VUE里的高级糖块
前端·javascript·vue.js
董广明1 小时前
单元测试(JUnit、Mockito、PowerMock )
java·经验分享·junit·单元测试
Lisonseekpan1 小时前
Java Stream 流式编程
java·后端
半桶水专家1 小时前
Vue 3 动态组件详解
前端·javascript·vue.js