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)
相关推荐
萑澈20 小时前
Windows 7 运行 Electron 安装包报“不是有效的 Win32 应用程序”怎么办
javascript·windows·electron
W.A委员会20 小时前
JS原型链详解
开发语言·javascript·原型模式
懂懂tty21 小时前
React状态更新流程
前端·react.js
小码哥_常21 小时前
告别繁琐!手把手教你封装超实用Android原生Adapter基类
前端
她说彩礼65万21 小时前
C# 实现简单的日志打印
开发语言·javascript·c#
HoneyMoose21 小时前
Jenkins Cloudflare 部署提示错误
java·servlet·jenkins
阿丰资源21 小时前
基于SpringBoot的物流信息管理系统设计与实现(附资料)
java·spring boot·后端
skywalk816321 小时前
pytest测试的时候这是什么意思?Migrating <class ‘kotti.resources.File‘>
前端·python
Predestination王瀞潞21 小时前
Java EE3-我独自整合(第四章:Spring bean标签的常见配置)
java·spring·java-ee
overmind21 小时前
oeasy Python 121[专业选修]列表_多维列表运算_列表相加_列表相乘
java·windows·python