# 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?

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?

0

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`

.

Asked: **
2017-11-24 02:08:11 -0600
**

Seen: **28 times**

Last updated: **Nov 24**

Convert expression to univariate polynomial over symbolic ring properly

Import Module from Another File in Cloud

multi-symmetric functions and multi-partitions

elementary symmetric functions

Solving polynomial equations with arbitrary coefficients

Preload defined functions for later use

Solving a system of 18 polynomial equations in sagemath

lcm and gcd of polynomials over the irrationals

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.

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 representation`s`

of some object of a class`C`

, you can usually construct the object using`C(s)`

. For instance, if you define`R.<x> = ZZ[]`

, then`R('x^2 + x + 1')`

returns the polynomial`x^2 + x + 1`

. Using`eval(s)`

will have the same effect here (since`x`

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).