私はPythonの小さな問題で取り組んでいました。これは問題です -Python:関数のブール戻り値の出力
intの配列が与えられている場合は、配列に6が含まれていると再帰的に計算します。指定されたインデックスから始まる配列の部分だけを考慮するという規則を使います。このようにして、再帰呼び出しではindex + 1を渡して配列を移動できます。最初の呼び出しは0のインデックスで渡されます。
array6([1, 6, 4], 0) → true
array6([1, 4], 0) → false
array6([6], 0) → true
これは私が思いついた解決策です。
def array6(intList, index):
if len(intList) < index + 1:
print(False)
else:
if intList[index] == 6:
print(True)
else:
array6(intList, index + 1)
スクリプトは私がreturn文として、それを呼び出すために、印刷を変更する場合を除き、正常に動作するようです:それは、コンソールで "None" を表示しない(0)、array6([1、6、4])印刷。どうしてこれなの?理想的には、真または偽を表示する必要があります - 右ですか?それとも、スクリプトに何かが欠けていますか?
おそらく 'array6'を返すのを忘れました。 'return'でコードを表示できますか? – martianwars