Function 具有3个参数的函数:在应用运算符后返回结果,即(5、7、';+;';)=35

Function 具有3个参数的函数:在应用运算符后返回结果,即(5、7、';+;';)=35,function,arguments,expression,evaluate,Function,Arguments,Expression,Evaluate,希望我的标题能解释这一点,但我需要一个函数,它将接受3个参数(两个数字和一个运算符[*,+,/,-]),然后计算结果 大概是这样的: function evaluateExpression (firstNum, secondNum, operator) { ... return ...; } evaluateExpression (35, 7, '/'); // should return 5 伪代码: evaluateExpression( first, second, o

希望我的标题能解释这一点,但我需要一个函数,它将接受3个参数(两个数字和一个运算符[*,+,/,-]),然后计算结果

大概是这样的:

function evaluateExpression (firstNum, secondNum, operator) {
    ...
    return ...;
}

evaluateExpression (35, 7, '/'); // should return 5
伪代码:

evaluateExpression( first, second, op ) :

    if op == "+" :
         return first + second

    else if op == "*" :
         return first * second

    ... etc

    else :
         return error
单向:

if (operator === "+") { return firstNum + secondNum };
if (operator === "-") { return firstNum - secondNum };
if (operator === "/") { return firstNum / secondNum }; 
if (operator === "*") { return firstNum * secondNum }; 
if (operator === "%") { return firstNum % secondNum }; 
另一种方式:

switch (operator) {
  case "+" : return firstNum + secondNum;
  case "-" : return firstNum - secondNum;
  case "/" : return firstNum / secondNum;
  case "*" : return firstNum * secondNum;
  case "%" : return firstNum % secondNum;
}
eval(firstNum + operator + secondNum);
如果您使用的是javascript,这可能是另一种方式:

switch (operator) {
  case "+" : return firstNum + secondNum;
  case "-" : return firstNum - secondNum;
  case "/" : return firstNum / secondNum;
  case "*" : return firstNum * secondNum;
  case "%" : return firstNum % secondNum;
}
eval(firstNum + operator + secondNum);

即使在python中,也可以使用eval方法。只需将操作数转换为字符串并调用函数

evaluateExpression(第一,第二,op):


您使用的是什么语言?使用if语句检查运算符,然后计算语句if true。到目前为止您尝试了什么?如果你不知道从哪里开始,写一个你将如何做的列表(尽可能详细地分解),然后写对应于列表中每个项目的代码。这个问题已经由Hayley Guillou解决了。谢谢你,我想这是我需要的。