前提・実現したいこと
Python3に関する大学の課題でどうしてもわからない問題があり、困っています。
教授に質問したのですが、全く協力的ではなく、なにも解決しませんでした。
よろしければ、どなたか解説していただけると幸いです。
以下問題文です。
問)数aは、bで割り切れる場合、bの累乗であり、a / bはbの累乗です。パラメータaとbを取り、aがbの累乗の場合にTrueを返すis_powerという関数を記述します。注:基本ケースについて考える必要があります。
問題のヒント
教科書のセクション6.4のis_divisible関数が含まれていますか?
2つの引数を取るis_power関数を実装していますか?
is_power関数はis_divisibleを呼び出しますか?
is_power関数はそれ自体を再帰的に呼び出しますか?
is_power関数には、2つの引数が等しいという基本ケースのコードが含まれていますか?
is_power関数には、2番目の引数が「1」の基本ケースのコードが含まれていますか?
ヒントにあるis_divisible関数は、aはbで割り切れることを表した関数で、これは正しいと教授に言われました。
python3
1 2def is_divisible(a, b): 3 return a % b == 0
しかしis_power関数がどうしても書けませんので、お忙しいとは思いますが、どなたか解説していただけると幸いです。
よろしくお願いいたします。
原文
A number, a, is a power of b if it is divisible by b and a/b is a power of b. Write a function called is_power that takes parameters a and b and returns True if a is a power of b. Note: you will have to think about the base case. Does the submission include the is_divisible function from Section 6.4 of the textbook? Does the submission implement an is_power function that takes two arguments? Does the is_power function call is_divisible? Does the is_power function call itself recursively? Does the is_power function include code for the base case of the two arguments being equal? Does the is_power function include code for the base case of the second argument being "1"?
該当のソースコード
ソースコード
試したこと
def is_divisible(a, b): return a % b == 0 def is_power(a, b): if a <=0 or b <= 0: return False elif a == 1 and b == 1: return True else: if is_divisible(a, b): a = a/b is_power(a, b-1) else: return False
補足情報(FW/ツールのバージョンなど)
問題文は英語で出題されており、Google翻訳したものをそのまま載せているので、一部日本語がおかしなところがあるかもしれません。
私は大学でPythonについて学び始めたばかりで、いままでにいかなる言語でもコードを書いたことのない完全初心者です。素人にもわかるような言葉で説明していただけたらうれしいです。
回答2件
あなたの回答
tips
プレビュー