LINUX.ORG.RU

Бесплатная Mathematica


3

4
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib
import readline
n=1
while True:
	print
	quest = raw_input("In[%d]:= " % (n))
	print
	url = "http://integrals.wolfram.com/index.jsp?expr=D[%s,x]&random=false" % (quest)
	req = urllib.urlopen(url).read()
	resn = req.find(', x] ==</em><br/>')
	if resn > 0:
		print 'Out[%d]= %s' % (n,req[resn+17:req.find('</p>')])
	else:
		print 'Out[%d]= %s' % (n,quest)
	n=n+1

http://storage3.static.itmages.ru/i/12/0525/h_1337955001_4392007_4ebf6fe107.png

★★★★★

Толку-то, если я не могу написать даже

fac[0]:=1;
fac[n_]:=fac(n-1)*n;
fac[n]

inline ()

замени эти две строчки

import requests
...
req = requests.post(url)

на

import urllib
...
req = urllib.urlopen(url).read()

тогда, можно будет обойтись без установки в систему python-requests. Все равно у тебя там нет POST-запроса.

beka ()
Ответ на: комментарий от Nxx

он намекнул, что у тебя нигде не сохраняются переменные. Точнее возможности такой нет даже теоретически.

dikiy ★★☆☆☆ ()
Ответ на: комментарий от buddhist

Да, его правда - я там в одном месте вместо [] написал (). Но вопроса это не отменяет.

inline ()
Ответ на: комментарий от Nxx

Нет, точка с запятой там к месту, особенно в первой строчке.

inline ()
Ответ на: комментарий от inline

Не нужна там точка с запятой, в настоящей математике

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

Если я напишу

fac[0]:=1
без точки с запятой, то после выполнения этой команды на экран еще будет выведена единица. Если мне не нужен никакой вывод, я ставлю точку с запятой в конце.

inline ()
Ответ на: комментарий от inline

после выполнения этой команды на экран еще будет выведена единица.

Не будет.

Nxx ★★★★★ ()

улыбнуло =)

а пользовательское соглашение сайта позволяет так делать?

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

Ты пользовался ей для чего-то более сложного, чем посчитать производную синуса? Я вот как-то давно пытался, сломался, когда обнаружил, что

f(g(b));

не тождественно

a:=g(b);
f(a);

Не исключено, что я делал что-то не так, в таком случае хотелось бы услышать историю успеха. Также там символьное ядро умеет значительно меньше.

dmfd ()

Я думал, тут раздача Wolfram Mathematica.

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

нет не использовал. ну попробуй вот так.

g(x):=x+1;
f(x):=x*10;
a:'g(10);
f(a);
b:g(10);
f(b);

maxima это тебе не питон, сам понимаешь.

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

Но зачем?

конечно, физкультуры и патриотического воспитания вкупе с законом божьим хватит с избытком

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

Я к тому, что с одной стороны язык maxima слабо подходит для программирования из-за неочевидных особенностей, а с другой - символьное ядро слишком слабо для использования в качестве символьного калькулятора. Т.е. упоминание maxima в треде про mathematica не совсем уместно.

dmfd ()
Ответ на: комментарий от dmfd

Я к тому, что с одной стороны язык maxima слабо подходит для программирования из-за неочевидных особенностей,

common lisp семантика со всеми плюсами и минусами

а с другой - символьное ядро слишком слабо для использования в качестве символьного калькулятора.

непонятно

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

непонятно

При написании однострочников скрипт ОПа обладает бОльшими возможностями, поскольку символьное ядро и набор функций у mathematica намного солиднее. Разве что графики нельзя строить.

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