0

私はこの小さな関数を持っています.2つの整数を取りa、指数が上がるbかどうかをチェックします. これがコードです。ab

def is_power(a,b):

    if not a%b==0:
        return a%b==0

    elif a/b==1:
       return a/b==1

    else:
        a = a/b
        is_power(a,b)

print is_power(,) 

None問題は、入力に関係なく、これが常に返されることです。

しかし、すべてのリターンをプリントに置き換えると、正しい結果、つまりTrueorが得られFalseます。

def is_power(a,b):

    if not a%b==0:
        print a%b==0

    elif a/b==1:
       print a/b==1

    else:
        a = a/b
        is_power(a,b)

is_power(,) 

なぜこれが起こるのですか?これはおそらく初歩的な質問ですが、まだ考えられません。ありがとう

4

2 に答える 2