簡體   English   中英

如何計算功率?

[英]How to calculate power of?

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

我唯一改變的是Truenumber/base, base 我不知道如何使True對於除.=1 之外的所有情況都是正確的。

由於歸結為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

這是預期的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM