我有一堆字符串,它们是字典中的键,包含不等式系统:
e.g。 “t1 + t2> 2 ^ t1< 1 ^ t2> = 1”
这些字符串是根据用户输入创建的,但有时系统是不可能的:
例如“t1 + t3> 2 ^ t1< = 1 ^ t3< = 1”。
没有可能的t1和t3值来解决系统。如果系统不可能,我需要从字典中删除元素。
我确信,对于同一个“主题”,没有多重不平等。例如,不能有:
“... ^ t2> 0 ^ t2< = 2 ^ ...”
但是
“...... ^ 0< t2< = 2 ^ ...”是可能的
如果我必须编写一些代码,我会做这样的事情,但它非常混乱,我无法得到一个好的图片(或至少一个很好的)如何得到结果真或假,是否这是一个不可能或不可能的系统...我很确定有更好的方法来处理这个问题(可能有3个以上的变量,但我认为如果我理解如何用3做,我可以做到与n):
def logical(string):
h = string.split(" ^ ")
count = [0,0,0]
for i in [1,2,3]:
for j in h:
if "t"+str(i) in h:
count[i-1] += 1
...
#consider the elements of h that contain "t"+1 if count of
#that variable is bigger than 1
#and for those who contain the sum of two or more
#variables check the number of "words" (can be 3 or 5). Then
#check if elements in position 1 and/or 3 are "<=" or "<" or
#">=" or ">" ... and compare it to the element of h that
#contains instead ... veeeery long and mechanical
...
任何帮助?