Questionnaire Data Structure
I believe an tree with any natural number n nodes from every node, with each node representing a question, would work. Use a function ask to get the answer, and decide which node to go to next. This would be a long process for you to code, but it's good enough. You can create this tree by a list of lists of lists, etc. or a dictionary of dictionaries of dictionaries (in this case I would choose the dictionaries).
Example:
tree = {"United States": {"Pizza": {}, "Taco": {}}, "China": {"Books": {}, "Movies", {}}}, and so on until the end.
Each "layer" of dictionaries represents the answers to one question.
I am trying to implement a data structure that would make it easy to build a questionnaire. What I mean is the following:
Let's say the first question is "Which country are you from?" You answer "United States" and thus, the next question is "Which state are you from?" 
If you were to answer, say, "China" for the first question, it might ask a different question next. What kind of data structure would I need to implement to do something like this?