Ответ 1
Вы можете использовать
from math import *
чтобы импортировать все константы и функции из математического модуля в вашу глобальную область.
Время от времени мне нужно получить ответ на расчет. Поскольку у меня обычно есть экран терминала, который является естественным местом для меня, чтобы задать такие математические вопросы.
Интерактивная оболочка Python подходит для этой цели, если вы хотите ввести еще одну оболочку только для выхода из нее позже.
Иногда, хотя желательно, чтобы ответ был немедленно доступен из командной строки. Python имеет параметр -c, который, как мне показалось, полезен при обработке одной команды и возвращении результата. Я написал следующую bash оболочку script, чтобы использовать ее:
#!/bin/bash
# MHO 12-28-2014
#
# takes a equation from the command line, sends it to python and prints it
ARGS=0
#
if [ $# -eq 1 ]; then
ARGS=1
fi
#
if [ $ARGS -eq 0 ]; then
echo "pc - Python Command line calculator"
echo "ERROR: pc syntax is"
echo "pc EQUATION"
echo "Examples"
echo "pc 12.23+25.36 pc \"2+4+3*(55)\""
echo "Note: if calculating one single equation is not enough,"
echo "go elsewhere and do other things there."
echo "Enclose the equation in double quotes if doing anything fancy."
echo "m=math module ex. \"m.cos(55)\""
exit 1
fi
#
if [ $ARGS -eq 1 ]; then
eqn="$1"
python -c "import math; m=math; b=$eqn; print str(b)"
fi
#
$ pc 1/3.0
0.333333333333
$ pc 56*(44)
2464
$ pc 56*(44)*3*(6*(4))
177408
$ pc "m.pi*(2**2)"
12.5663706144
Вопрос, имея в виду опцию python -c
, есть ли какой-либо краткий способ неявного обращения к математическому модулю, чтобы последняя команда pc могла быть отформатирована как pc "pi*(2**2)"
?
Вы можете использовать
from math import *
чтобы импортировать все константы и функции из математического модуля в вашу глобальную область.
if [ $ARGS -eq 1 ]; then
eqn="$1"
python -c "from math import *; b=$eqn; print str(b)"
fi
$ pc "pi*(2**2)"
12.5663706144
Отлично! Спасибо!
Вы можете полностью прикрепить весь код работающей программы?