从 IPython Notebook 中的另一个单元格读取值并将它们提供给 "input()"
Read values from another cell in IPython Notebook and supply them for "input()"
举个例子,如果我有一个看起来像这样的单元格:
In [*]: for i in range(int(input())):
print(i**2)
单元格为运行时,弹出输入框等待输入。当遇到 input()
时,是否有内置魔术命令或任何方式以编程方式提供值?
我写这个作为一个答案,虽然这或多或少是一个评论。
一种 "hacky" 方法是覆盖 input
或创建一个生成器,其中 return 是一个具有常量 return 值的输入函数。有点嘲笑它…
def input_generator(return_value):
def input():
return return_value
return input
这将作为:
>> input = input_generator(42)
>> input()
42
举个例子,如果我有一个看起来像这样的单元格:
In [*]: for i in range(int(input())):
print(i**2)
单元格为运行时,弹出输入框等待输入。当遇到 input()
时,是否有内置魔术命令或任何方式以编程方式提供值?
我写这个作为一个答案,虽然这或多或少是一个评论。
一种 "hacky" 方法是覆盖 input
或创建一个生成器,其中 return 是一个具有常量 return 值的输入函数。有点嘲笑它…
def input_generator(return_value):
def input():
return return_value
return input
这将作为:
>> input = input_generator(42)
>> input()
42