如何根据Sage中使用的比较运算符制作“case”或“if,then”

时间:2014-02-24 21:17:50

标签: python if-statement operators sage

我有一些函数可以返回不等式,例如

s= solve(x^(2)<4,x) 
s
[[x>-2, 2<x]]

我希望能够将其转换为字符串“] -2,2 [”导出到LaTeX。

我如何能够检查使用哪个比较运算符,然后根据它创建一个多案例情景器?例如

 if s[1].operatorused== "<" 
  then do stuff
 if s[1].operatorused== "<=" 
  then do stuff

等等。

1 个答案:

答案 0 :(得分:2)

您可以通过.operator()访问运营商并按以下方式进行比较:

sage: s[0][0].operator()
<function operator.gt>
sage: s[0][1].operator()
<function operator.lt>
sage: s[0][0].operator() == operator.gt
True
sage: s[0][0].operator() == operator.lt
False

老实说,过去看起来比较方便的时候我已经退回做字符串比较了(虽然你必须记住确保>>=之前没有跳过。)