Jupyter notebook ipywidgets-单击后在列表中显示下一个值
我试图使用Jupyter notebook ipywidgets-单击后在列表中显示下一个值,jupyter-notebook,ipywidgets,Jupyter Notebook,Ipywidgets,我试图使用ipywidgets来显示列表中的下一个值(在Jupyter笔记本中),单击按钮后显示为display\u vals。然而,对于下面的代码片段,我得到了如下错误 local variable 'i' referenced before assignment 这是我的片段 from IPython.display import display, clear_output import ipywidgets as widgets button = widgets.Button(desc
ipywidgets
来显示列表中的下一个值(在Jupyter笔记本中),单击按钮后显示为display\u vals
。然而,对于下面的代码片段,我得到了如下错误
local variable 'i' referenced before assignment
这是我的片段
from IPython.display import display, clear_output
import ipywidgets as widgets
button = widgets.Button(description="Click Me!")
display(button)
display_vals = ['a', 'b', 'c']
i = 0
def on_button_clicked(b):
print(display_vals[i])
clear_output()
i += 1
button.on_click(on_button_clicked)
我想我只是不知道在单击按钮时如何解析变量。可以通过将I声明为全局变量并包含if语句来实现,如下所示:
from IPython.display import display, clear_output
import ipywidgets as widgets
button = widgets.Button(description="Click Me!")
display(button)
display_vals = ['a', 'b', 'c']
i = 0
def on_button_clicked(b):
global i
clear_output()
if i < len(display_vals):
print(display_vals[i])
i += 1
button.on_click(on_button_clicked)
从IPython.display导入显示,清除\u输出
将IPyWidget作为小部件导入
button=widgets.button(description=“单击我!”)
显示(按钮)
显示值=['a'、'b'、'c']
i=0
def on_按钮_单击(b):
全球i
清除输出()
如果i
但是,如果你决定走这条路,你应该将i
重命名为更独特的名称