从IPython Notebook中的另一个单元格读取值并为“input()”提供它们

时间:2015-06-04 09:02:21

标签: python ipython ipython-notebook

例如,如果我有一个看起来像的单元格:

In [*]: for i in range(int(input())):
            print(i**2)

当单元格运行时,弹出一个输入框并等待提供输入。是否有内置魔术命令或以任何方式在遇到input()时以编程方式提供值?

1 个答案:

答案 0 :(得分:1)

我写这个作为答案,虽然这或多或少是一个评论。

一个" hacky"方法是覆盖input或生成一个返回具有常量返回值的输入函数的生成器。所以嘲笑它......

def input_generator(return_value):
    def input():
        return return_value
    return input

这将作为:

>> input = input_generator(42)
>> input()
42