LINUX.ORG.RU

Вычисление модульного выражения через терминал


0

0

Есть выражение:

|5 - 7| оно должно быть равным +2

Забиваю:

echo -e «scale=10\n|5-7|» | bc

Получаю:

(standard_in) 2: illegal character: | (standard_in) 2: illegal character: |

Также пробовал:

echo `expr |5 - 7|`

bash: command substitution: строка 2: ошибка синтаксиса: неожиданный конец файла

####################################

также:

echo `expr \|5 - 7\|`

expr: нечисловой аргумент

####################################

echo `expr \| 5 - 7 \|`

expr: синтаксическая ошибка

####################################

google не дает ничего.

bc, насколько мне известно, сам по себе не умеет вычислять модули.
можно написать свою функцию:
m(x) {
if (x > 0) return x; else return -x}

а можно использовать что-то типа sqrt(x*x)…

anarquista ★★★★★
()
Ответ на: комментарий от GotF

Как проще, не знаю, в Питоне не силён.

GotF ★★★★★
()

Функция, вычисляющая модуль, обычно называется abs().

AITap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.