首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >问卷数据结构

问卷数据结构
EN

Stack Overflow用户
提问于 2020-03-25 18:35:57
回答 2查看 303关注 0票数 1

我正在努力实施一种数据结构,使建立问卷变得容易。我的意思是:

假设第一个问题是“你来自哪个国家?”你回答“美国”,因此,下一个问题是“你来自哪个州?”

如果你回答第一个问题,比如说“中国”,接下来它可能会问另一个问题。我需要实现什么样的数据结构才能这样做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-25 18:48:39

我相信每一个节点上的任意自然数n个节点的树,每个节点代表一个问题,都是可行的。使用一个函数ask来获得答案,并决定下一个节点。对您来说,这是一个很长的代码过程,但是它已经足够好了。您可以通过列表等创建此树,也可以通过字典字典创建此树(在本例中,我将选择字典)。

示例:

tree = {"United States": {"Pizza": {}, "Taco": {}}, "China": {"Books": {}, "Movies", {}}},等等直到结束。词典的每一层代表着一个问题的答案。

票数 1
EN

Stack Overflow用户

发布于 2020-03-25 18:46:33

这只是一个字符串的列表。存储两个列表,然后压缩它们以获得每个问题的答案。

代码语言:javascript
复制
q = [ "Which country are you from?" ]
a = list()

for _q in q:
    a.append(input(_q))

print(list(zip(q, a)))

如果你回答第一个问题,比如说“中国”,它可能会问另一个问题。

这将成为一个树/图/网络,您可能会使用类似于networkx的方法,其中有一些包含字符串问题的“问题”节点,然后有带有可能答案标签的传出边,没有答案的循环返回或退出,以及所有其他答案的一些默认边缘。答案边的关系是两个问题节点之间的关系。

如果您想将它们存储在数据库中,Neo4j和OrientDB是很流行的选项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60855230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档