从用户输入+将结果存储在列表中的决策[开放性问题]

2024-10-04 15:26:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我对编程比较陌生,所以我要求的更多是关于如何处理特定问题的建议/指导,而不是要求特定的代码建议

我正在尝试创建一个软件,当从控制台运行时,它会询问用户是否选择“a”、“b”或“c”。做出选择后,它会将结果保存到一个空列表(was gonna use.append)中,并根据之前所做的选择,将分支/呈现给用户一个可供选择的新选项。当决策过程结束时,它将打印列表,以便用户可以看到他们的选择

我一直把它当作一个决策树来考虑,并制作了一个相当糟糕的图表来帮助我概念化它的结构和规则(比如在哪些选项/选择流入什么)

enter image description here

如果你按照链接你可以看到图表。基本上,我在考虑创建一个非常长且难看的if-elif-else链,其中包含一些嵌套的if语句,它将使用条件逻辑,根据用户之前选择的内容,为用户提供特定的选项。例如,要到达“c3”,您只需在开始处选择C,然后按照c1->;c2->;c3级。这是一个非常线性的过程。但是,如果您想到达“ab2”,用户有两种方法可以到达:A->;a2->;ab1->;ab2B->;b1->;ab1->;ab2;更像是一个动态的过程

你将如何构建这个?有没有什么特别的东西/概念我应该考虑,比如在While循环的函数中创建这个,或者可能使用字典而不是空列表

我知道如果这类问题在这里不标准,因此会被否决。但这是一个基于我想法的程序设计项目,任何形式的信息都能让我正确思考,我将不胜感激


Tags: 代码用户gt列表if过程选项编程
1条回答
网友
1楼 · 发布于 2024-10-04 15:26:57

我会用一本字典来组织它,把每个地方与你可以在那里做出的选择联系起来:

exits = {'A' : {'a' : 'A1',
                 'b' : 'A2'},
          'B' : {'a' : 'b1',
                 'b' : 'b2'}
          ...
        }

对于每个位置,您提供可能的选择以及该选择将带您去哪里,您可以使用places字典中的一个键来确定下一步可以做什么

在每次迭代中,您都会向用户展示他在那一刻可以做的选择

choices = exits[current_location]

然后更新位置

current_location = exits[current_location][user_choice] 

相关问题 更多 >

    热门问题