所以这是一个我似乎很困惑的简单问题,我一直在研究这个输入问题,并试图将用户输入的某些部分存储到分段列表中。
用户输入将输入一个 CNF(连接范式)。示例:+ = or, * = and, ( and ) 中的任何内容都是子句
(A+B)*(C+D)
因此,由于此输入有两个子句,我需要将每个子句作为它们自己的项目存储到列表中。我无法弄清楚如何遍历我已经制作的列表并让我的 if 语句对每个子句进行分段,我从逻辑上理解它应该如何工作,我只需要与将某些内容动态存储到列表。
我全心全意地理解为什么索引不起作用,我基本上是在寻找索引方法的反面,我需要找到与我的索引关联的项目。
例如,当我找到一个开放的括号“(”时,我需要开始将一个新子句存储到我的列表中,到目前为止我只找到了如何返回索引本身而不是通过索引返回项目。这应该是一个简单的解决方案对此,但我根本找不到与明智地显示此方法相关的任何内容。
cnf = input("CNF: ")
cnf_input = list(cnf)
cnf_input_len = len(cnf_input)
i = 0
##this count resets when it sees a ")"
claus_count = 0
while i < cnf_input_len:
claus_list = cnf_input.append(i)
print(cnf_input.index("B"))
if cnf_input.index(i)=="(":
print('Cut here')
i=i+1
我的代码作为指导