考虑所有情况

数值的整数次方 - 图1

  1. # -*- coding:utf-8 -*-
  2. class Solution:
  3. def Power(self, base, exponent):
  4. # write code here
  5. result = 1.0
  6. # 考虑底数为 0
  7. if base == 0:
  8. if exponent == 0:
  9. return 0
  10. elif exponent > 0:
  11. return 0
  12. else:
  13. return False
  14. # 底数不为 0
  15. else:
  16. # 指数为 0,结果是 0 不需要算
  17. if exponent == 0:
  18. return 1
  19. # 考虑指数为负数
  20. if exponent < 0:
  21. exponent = -1*exponent
  22. for i in range(exponent):
  23. result *= base
  24. result = 1.0/result
  25. return result
  26. if exponent > 0:
  27. for i in range(exponent):
  28. result *= base
  29. return result

高效解法