##// END OF EJS Templates
Fix completion tuple (#14594)...
Fix completion tuple (#14594) In progress work toward #14585 guarded eval strip leading characters until it find soemthing, this is problematic as `(1, x`, becomes valid after 1 char strip: `1, x` is a tuple; So now we trim until it is valid an not a tuple. This is still imperfect as things like `(1, a[" "].y` will be trimmed to `y`, while it should stop with `a[" "].y` ? I think maybe we should back-propagate; build back up from `y`, to `a[" "].y`, greedily until we get the last valid expression – skipping any unbalanced parentheses/quotes if we encounter imblanced.

File last commit:

r20547:8f4e2b41
r28978:9cdf92d3 merge
Show More
Raw Input in the Notebook.ipynb
151 lines | 5.9 KiB | text/plain | TextLexer
/ examples / IPython Kernel / Raw Input in the Notebook.ipynb

Using raw_input and %debug in the Notebook

The Notebook has added support for raw_input and %debug, as of 1.0.

In [1]:
# Python 3 compat
import sys
if sys.version_info[0] >= 3:
    raw_input = input
In [2]:
name = raw_input("What is your name? ")
name
What is your name? Sir Robin
Out[2]:
'Sir Robin'
In [3]:
def div(x, y):
    return x/y

div(1,0)
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-4-a5097cc0c0c5> in <module>()
      2     return x/y
      3 
----> 4 div(1,0)

<ipython-input-4-a5097cc0c0c5> in div(x, y)
      1 def div(x, y):
----> 2     return x/y
      3 
      4 div(1,0)

ZeroDivisionError: division by zero
In [4]:
%debug
> <ipython-input-4-a5097cc0c0c5>(2)div()
      1 def div(x, y):
----> 2     return x/y
      3 

ipdb> x
1
ipdb> y
0
ipdb> bt
  <ipython-input-4-a5097cc0c0c5>(4)<module>()
      1 def div(x, y):
      2     return x/y
      3 
----> 4 div(1,0)

> <ipython-input-4-a5097cc0c0c5>(2)div()
      1 def div(x, y):
----> 2     return x/y
      3 
      4 div(1,0)

ipdb> exit