0
かなり愚かな質問の最後に「復帰」が、...ミッシング関数はPython
def gcd(a, b):
if a < b:
a, b = b, a
if a == 0:
return b
elif b == 0:
return a
return gcd(b, a % b)
だから、関数の最後に何return
を、ありませんとき、なぜコードリターンNone
をしませんか?再帰的に呼び出され、a
またはb
が最終的に0
に等しい場合、それはif
の条件を満たしていますか?次に、ゼロ以外の値を返します。
中間ステップは値を返しません。 – Max
この関数は決して 'None'を返すべきではありません。あなたが 'None'を観察するようにした' a'と 'b'の値は何でしたか? – DyZ
@DYZ上記の関数はNoneを返しませんが、彼が最後の返り値を省略すると(最後の行を単純に 'gcd(b、a%b)')_then_は 'None'を返し、なぜ彼は尋ねている。 – Dan