如何在Google Colaboratory中将变量用作表单字段的输入?

时间:2019-02-13 06:36:54

标签: forms google-colaboratory

官方示例显示了如何在Google合作实验室https://colab.research.google.com/notebooks/forms.ipynb中使用表单字段。

假设我们有一个列表: fruit_list = ['apples', 'bananas', 'mangoes']

现在,我想将此列表的元素作为下拉列表添加到表单中:

#@title # Select Your Choice of Fruit
fruit_selected = 'apples' #@params fruit_list {input: string}

到目前为止,我可以想到一些这样的黑客:

#@title Boolean fields { run: "auto", vertical-output: true }
this_list = ["False", "True"]
boolean_checkbox = False #@param {type:"boolean"}
boolean_dropdown_asis = False #@param ["False", "True"] {type:"raw"}
boolean_dropdown_var = this_list[1] #@param {type:"raw"}

print(boolean_checkbox)
print(boolean_dropdown_asis)
print(boolean_dropdown_var)

但是我更喜欢输入另一种类型:变量而不是原始/字符串。最终的实现可能是这样的:

#@title # Select Your Choice of Fruit
fruit_list = ['apples', 'bananas', 'mangoes']
fruit_selected = 'apples' #@params fruit_list {input: variable}
  

我参与了一些OVERKILL. You are free to look at it.评论,欢迎发表评论! :)

有人,有更好的主意吗?

注意:还有一个stackoverflow discussion,其中Sergio Lucero提出了类似的问题。但是主线程有一个不同的问题。

3 个答案:

答案 0 :(得分:2)

如果像在blois笔记本中那样使用小部件,则可以使用以下代码来调用值:

fruit_picker.value

这将返回您选择的水果的价值。

总共的代码如下:

import ipywidgets as widgets
fruit_list = ['pomegranate', 'watermelon', 'lychee']
fruit_picker = widgets.Dropdown(options=fruit_list, value='watermelon')

fruit_picker

fruit_picker.value

答案 1 :(得分:0)

答案 2 :(得分:0)

您的原始代码几乎有解决方案。 如果您仔细查看,您会在文档中找到它。

代替

fruit_list = ['apples', 'bananas', 'mangoes']
fruit_selected = 'apples' #@params fruit_list {input: string}

使用

fruit_selected = 'new' #@param ['apples', 'bananas', 'mangoes'] {allow-input: true}

您将能够从列表中进行选择或输入新元素。

enter image description here