为什么我的代码只计算第一类变量而忽略其他变量?

时间:2019-10-01 13:17:54

标签: python jupyter

所以我目前正在研究一个项目,以为我正在工作的组织实施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.

感谢您的帮助!

0 个答案:

没有答案