1

以下のコードに問題があります。

def myprogram(x):
    if x == []:
        return x
    else:
        return myprogram(x[1:]) + [ x[0] ]

パラメータの型は何(x)ですか? この関数は何をしますか?

この関数をパラメーターで呼び出して戻り値を見つけるコードを書くことになっていますが、ここで何が起こっているのかを理解せずにそれを行うことはできません。ヘルプ/フィードバックをいただければ幸いです。

4

2 に答える 2

7

これは明らかに宿題なので、答えをヒントに限定します。

この関数を呼び出すコードを書くことになっています

関数がリストを期待していることは明らかです。残りを理解するのはあなたに任せます。

続行する方法がわからない場合は、さまざまなリストを使用して呼び出して、何が返されるかを確認できます。ただし、最終的には、関数が何をするかを確認するために、ソースコードを読んで理解する必要があります。

于 2012-12-14T18:31:41.310 に答える
0

これは再帰関数であり、終了条件で停止するまで自分自身を呼び出し続けます

たとえば、次のコードを実行すると:

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n -1)

で呼び出した場合、何が返されると思いますfactorial(5)か?

ここでそれらを作成する方法に関する別の投稿: How can I build a recursive function in python?

于 2012-12-14T19:27:46.643 に答える