所以我目前正在研究一个项目,以为我正在工作的组织实施KPI库。在程序中,用户应键入要为其生成编号的报告区域。根据不同的报告区域,KPI的数量正在变化。因此,与销售相关的KPI为1000-1999,与租赁相关的KPI为3000-3999,与运营相关的KPI为4000-4999。在为这些报告区域中的一个生成数字后,类别变量应增加+1。
现在,总是在我声明该类的新实例并在报告区域中键入该参数时,即使我键入“ Operations”或“租赁。它始终在为销售KPI生成的最后一个数字上继续。
因此,我首先实现的是if-条件,该条件检查给类实例提供的参数在哪个报告区域,并在声明新的KPI编号后从那里依靠不同的类变量。但是不幸的是,它似乎只引用了类变量部分中的第一个数字。
这是我的代码:
class createkpi():
sal_kpi = 1000
rent_kpi = 3000
op_kpi = 4000
def __init__(self, reportingarea):
self.reportingarea = reportingarea
if self.reportingarea == "Sales" or "sales":
createkpi.sal_kpi += 1
print(createkpi.sal_kpi)
elif self.reportingarea == "Rental" or "rental":
createkpi.rent_kpi += 1
print(createkpi.rent_kpi)
elif self.reportingarea == "Operations" or "operations":
createkpi.op_kpi += 1
print(createkpi.op_kpi)
else:
print("Invalid Reportingarea!")
所以我期望的是这样的:
newKPI = createkpi("Operations")
newKPI = 4001
newKPI2 = createkpi("operations")
newKPI2 = 4002, etc.
newKPI3 = createkpi("Rental")
newKPI3 = 3001, etc.
我得到的是以下内容:
newKPI = createkpi("Operations")
newKPI = 1001
newKPI2 = createkpi("operations")
newKPI2 = 1002
newKPI3 = createkpi("Rental")
newKPI3 = 1003, etc.
感谢您的帮助!