How can I readline a one-term polynomial from a user?
I would like to ask the user for a function. How can I do that? Is there something like readline?
I would like to ask the user for a function. How can I do that? Is there something like readline?
In Python, you can read a string from the user prompt with the function raw_input
:
sage: a = raw_input()
2*x+3
sage: a
'2*x+3'
sage: type(a)
<type 'str'>
Then you can transform that string into a symbolic expression:
sage: b = SR(a)
sage: b
2*x + 3
sage: type(b)
<type 'sage.symbolic.expression.Expression'>
sage: sin(b)
sin(2*x + 3)
You can put it within a function:
sage: def user_square():
....: print 'Please enter a function to be squared: ',
....: a = raw_input()
....: return SR(a)^2
sage: user_square()
Please enter a function to be squared: cos(d)+sin(t)
(cos(d) + sin(t))^2
If you want to make something fancy, with input boxes and sliders, you can have a look at Sage interact
.
Please start posting anonymously - your entry will be published after you log in or create a new account.
Asked: 2017-11-24 09:08:11 +0100
Seen: 454 times
Last updated: Nov 24 '17
Multivariate Polynomials over Rational Function Fields
How do I Pass a tuple as an argument for a multivariate polynomial?
Is there an example of how i could write a polynomial as a product of linear factors
multi-symmetric functions and multi-partitions
polynomials rings over transcendental field extensions
Coercion problem while defining piecewise function
What do you mean by a "one-term polynomial"?
As for the existence of a readline, you can either use
read_data
to read from a file, or any Python method to read data from a file. You can also read from the standard input, and then process the data you get. In particular, if you have a string representations
of some object of a classC
, you can usually construct the object usingC(s)
. For instance, if you defineR.<x> = ZZ[]
, thenR('x^2 + x + 1')
returns the polynomialx^2 + x + 1
. Usingeval(s)
will have the same effect here (sincex
is known to SageMath as the generator of the polynomial ring).I would like the user to type a function in(the user of the programme).