【Python】类中函数相互调用方法


方法一:self.方法(参数列表),注意参数列表不需要self

方法二:类名.方法(self,参数列表)

具体代码例子如下:

# 利用测试次数和鸡蛋个数的关系变化带来的确定的楼层数来解题
class dropeggs:
    def superEggDrop(self, K: int, N: int) -> int:
        remainTestCount = 1
        # 方法一
        # while self.getConfirmFloors(remainTestCount, K) < N:
        #     remainTestCount += 1
        # return remainTestCount
        
        # 方法二
        while dropeggs.getConfirmFloors(self, remainTestCount, K) < N:
            remainTestCount += 1
        return remainTestCount

    # 在remainTestCount个测试机会、eggsCount个鸡蛋可以确定的楼层数量
    def getConfirmFloors(self, remainTestCount: int, eggsCount: int) -> int:
        # 如果remainTestCount=1,只能移动一次可以确定楼层0(在一楼扔鸡蛋碎了)
        # 如果eggsCount=1,只能从一楼开始往上面测试扔鸡蛋最多确定remainTestCount个楼层
        if (remainTestCount == 1 or eggsCount == 1):
            return remainTestCount
        return self.getConfirmFloors(remainTestCount-1, eggsCount-1) + self.getConfirmFloors(remainTestCount-1, eggsCount) + 1

文章作者: PengShuai
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 PengShuai !
评论
  目录