我有一些KPI,对于某些KPI而言,超出目标值是好的,而对于其他KPI则不好。
我可以做类似的事情
comparator = '<'
value = 100
target = 200
然后继续说
value comparator target
因此python将其视为100 < 200
并返回True?
对于上下文,我有一个KPI表,其格式如下:
KPI1: < 100 On Target, > 110 Action Required
KPI2: > 50 On Target, <
我计划遍历它们及其相关数据以应用RAG评级。
答案 0 :(得分:-1)
您可以使用一流的方法。这使您可以跳过导入operator
模块,并且比使用eval()更安全:
def lt(a, b): return a < b
def gt(a, b): return a > b
def eq(a, b): return a == b
comparator = lt
print(comparator(4, 5)) # >>> True
答案 1 :(得分:-2)
这可以工作(使用eval)
comparator_1 = '>'
x = 7
y = 12
print(eval('{} {} {}'.format(x,comparator_1,y)))
comparator_2 = '<'
print(eval('{} {} {}'.format(x,comparator_2,y)))
输出
False
True