【剑指offer】15_数值的整数次方

题目

    给定一个double类型的浮点数base和int类型的整数exponent,求base的exponent次方

 保证base和exponent不同时为0。


 

1、用内置函数pow

语法:

class Solution:
    def Power(self, base, exponent):
        # write code here
        if base == 0:
            return 0
        elif exponent == 0:
            return 1
        elif base == 1:
            return 1
        elif exponent == 1:
            return base
        else:
            return pow(base, exponent)

 

2、不用pow。分exponent>0和<0的情况

class Solution2:
    def Power2(self, base, exponent):
        # write code here
        if base == 0:
            return 0
        elif exponent == 0 or base == 1:
            return 1
        elif exponent == 1:
            return base
        else:
            result = 1
            if exponent > 0:
                for i in range(exponent):
                    result = result * base
                return result
            else:
                ab_exponent = exponent * (-1)  # 先把exponent取正
                for i in range(ab_exponent):
                    result = result * base
                return 1.0/result

 

posted @ 2020-02-10 21:29  RebeccaG  阅读(92)  评论(0编辑  收藏  举报