python/matlab之三目运算符的问题

一、三目运算符

  C语言,Java,C++等语言有:判段的条件 ? 条件为真时的结果 : 条件为假时的结果,如 a>b ? c : d,当 a>b成立时,返回 c,否则返回 d

  而python与matlab没有 ?:这样的三目运算符

二、python中的三目运算符

  条件为真时的结果 if 判段的条件 else 条件为假时的结果

  如:

c if (a>b) else d
temp = (c if (a>b) else d)

 三、matlab中实现三目运算符的效果

  matlab中既没有 ?三目运算符,也没有python中的 if ... else ... ,但是我们可以编写函数实现这一功能

% 调用
result = ternaryOperator(3>4,5,6);

% 函数实现,a为表达式,当a为true时,返回b,为false时,返回c
function  result = ternaryOperator(a,b,c)
    if a
        result = b;
    else
        result = c;
    end
end
posted @ 2020-08-22 18:19  Shelly,  阅读(1425)  评论(0)    收藏  举报