首页 > 解决方案 > 问卷数据结构

问题描述

我正在尝试实现一种数据结构,可以轻松构建问卷。我的意思是:

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

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

标签: pythondata-structures

解决方案


我相信一棵树,每个节点的任何自然数 n 个节点,每个节点代表一个问题,都可以工作。使用一个函数ask来获得答案,并决定下一个去哪个节点。这将是您编写代码的一个漫长的过程,但这已经足够了。您可以通过列表列表等的列表或字典的字典创建此树(在这种情况下,我会选择字典)。

例子:

tree = {"United States": {"Pizza": {}, "Taco": {}}, "China": {"Books": {}, "Movies", {}}},以此类推直到结束。字典的每一“层”代表一个问题的答案。


推荐阅读