9

官方示例展示了如何在 Google Colaboratory 中使用表单字段: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 上工作。您可以随意查看。欢迎评论!:)

任何人,有更好的主意吗?

注意:在另一个stackoverflow 讨论中,Sergio Lucero提出了类似的问题。但是主线程有一个不同的问题。

4

2 回答 2

5

如果你像 blois 的 notebook 一样使用 widget,你可以使用下面的代码来调用这个值:

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
于 2020-07-27T14:25:03.177 回答
-1

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

代替

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

利用

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

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

在此处输入图像描述

于 2021-07-23T20:47:53.207 回答