数字aは、bで割り切れ、a/bはbのべき乗である場合、bのべき乗です。パラメータaとbをとり、aがbのべき乗であればTrueを返すis_powerという関数を書く。注:基本ケースについて考える必要があります。それが解決策だと私はこのコードの平和を見つけ :Pythonのエクササイズを考える6.4
def is_power(a,b):
if (a % b == 0):
return True
if (a/b == 1):
return True
else:
(is_power (a/b, b))
else:
return False
しかし、私はいくつかの行は必要ありませんね。
def is_power(a,b):
if (a % b == 0):
return True
else:
return False
- 余分な行の存在の理由は何ですか:ここでは私自身のコードはありますか?
- is_power(2.25,1.5)などの浮動小数点数の両方のコードは機能しません。どちらもFalseを返します。
['math.isclose'](https://docs.python.org/3/library/math.html#math.isclose)を使用して、特定のエラーマージン内で比較することができます。 – Norrius