# Using the result of a previously evaluated cell

What is the proper way of using the result of a previous evaluated cell or the result of a previous line in the same cell if said result has not been named?

edit retag close merge delete

Sort by » oldest newest most voted

Tou can use the underscore as follows:

sage: 1+1
2
sage: a = _ + 1
sage: a
3

more

thanks, I'll try

( 2017-12-25 00:36:43 +0200 )edit

For a previously evaluated cell in a Jupyter notebook, you can use Out[...], replacing ... by the number of the output cell you want to refer to.

Example.

In[1]: 1 + 1
Out[1]: 2
In[2]: 20 + 20
Out[2]: 40
In[3]: Out[1] * 5
Out[3]: 10


EDIT (2018-01-05).

Note that this also works in the Sage REPL (read-eval-print loop), or "command-line interface", ie, using Sage in a terminal. The reason is that, like Jupyter, it uses IPython behind the scenes. The difference is that the cell numbers are not displayed there... They still exist though.

Example:

$sage -v SageMath version 8.1, Release Date: 2017-12-07$ sage -q
sage: 1 + 1
2
sage: 20 + 20
40
sage: Out[1] * 5
10


If you want to get one of the last few cells and want to figure out what is the current number, you could ask the length of In or the length of Out.

Example:

$sage -v SageMath version 8.1, Release Date: 2017-12-07$ sage -q
sage: 1 + 1
2
sage: 9 * 9
81
sage: len(Out)
2
sage: Out[2]
81


There might be a way of making Sage display the numbering of the input and output... But I don't know how to do it!

more

When I reevaluate the first cell, its "number" changes, and I must then edit the second cell to adjust the number. Is there a reliable way to refer to "the cell just above this one in the notebook"?

( 2024-05-18 10:22:23 +0200 )edit

Please start posting anonymously - your entry will be published after you log in or create a new account.