首页 > 解决方案 > 如何计算功率?

问题描述

def is_power_of(number, base):
  # Base case: when number is smaller than base.
  if number < base:
    # If number is equal to 1, it's a power (base**0).
    return True

  # Recursive case: keep dividing number by base.
  return is_power_of(number/base , base)

print(is_power_of(8,2)) # Should be True
print(is_power_of(64,4)) # Should be True
print(is_power_of(70,10)) # Should be False

我唯一改变的是Trueand number/base , base。我不知道如何使True除 !=1 之外的所有情况都为真。

标签: python

解决方案


由于归结为是否number == 1,您可以bool直接返回:

def is_power_of(number, base):
  # Base case: when number is smaller than base.
  if number < base:
    # If number is equal to 1, it's a power (base**0).
    return number == 1

  # Recursive case: keep dividing number by base.
  return is_power_of(number/base , base)

您的测试的输出是:

True
True
False

这是预期的。


推荐阅读