Как сделать "случаи" или "если, тогда" в зависимости от оператора сравнения, используемого в Sage
97
10
У меня есть некоторая функция, которая возвращает неравенства, например
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
и т.д.
спросил(а)
2021-01-19T20:04:04+03:00
2 месяца, 3 недели назад
добавить комментарий
пожаловаться
Решение
75
Вы можете получить доступ к оператору через .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
Если честно, я отказался от сравнения строк в прошлом, когда это казалось более удобным (хотя вы должны помнить, что >
не отключается до >=
.)
ответил(а)
2021-01-19T20:04:04+03:00
2 месяца, 3 недели назад
добавить комментарий
пожаловаться
Ваш ответ
- Вопросы
- If-statement
- Как сделать "случаи" или "если, тогда" в зависимости от оператора сравнения, используемого в Sage