3

私は今、コンピュータ サイエンスの最終試験に向けて勉強していますが、これがどのように機能するのかまったくわかりません。

L = [ 8, 6, 7, 5, 3, 0, 9 ]

30. L[L[3]] - 1は?
(A) * -1
(B) エラー
(ハ) 8
(ニ) 4
(エ) 7

答えは -1.. これがどのように機能するかをテストするために、L[L[3]] を実行したところ、答えは 0 です。次に、L[L[4]] を実行し、thar が 5 に等しい場合、L[L を実行しました。 [1]] で 9 が返されましたが、L[L[2]] にすると、リスト インデックスが範囲外というエラーが発生します。私はここで混乱していません。

4

7 に答える 7

11

L[3]、、、、、です。5_ L[L[3]]_ L[5]_ 0_0 - 1-1

于 2012-04-15T19:51:41.540 に答える
4

この種の問題は、一度に 1 ステップずつ、内側から外側に向けて取り組むのが最善です。

したがって、L[3] は 5 を返します。この値 (5) をリストのインデックスとして使用します。つまり、L[5] を使用すると、0 が得られます。最後に、0 - 1 = -1、あなたの答えです。

于 2012-04-15T19:53:34.053 に答える
2

これは、数学関数 (f(g(x)) など)を使用した関数合成に似ています。

リストを取り出して裏返しに作業するので、 を取得し、そこL[L[3]] -> L[5] -> 0から 1 を引いて を取得します-1

次の例を挙げると、L[L[1]] = L[6] -> 9. 最後に、L[L[2]] = L[7] -> IndexError.

複合インデックス (または関数) を裏返しに評価することがすべてです。

于 2012-04-15T20:24:39.183 に答える
0

中間結果が表示されていなくても、中間結果を表示して答えを見ていきましょう。

L[3]は5、L[L[3]]したがってL[5] = 0、、L[L[3]] -1 = 0-1 = -1

于 2012-04-15T19:52:24.150 に答える
0

L[2] = 7 で、リストには 7 つの要素しかありません。つまり、インデックス 0..6 です。したがって、L[L[2]] = L[7] へのアクセスは範囲外です...

于 2012-04-15T19:52:26.367 に答える
0

それは、l[3] で 5 の数値を取得し、それを使用するので、l[5] で 0 の数値を取得し、1 を減算します.... ta dah!

于 2012-04-15T19:52:28.003 に答える
0

手順に分けて答えを次に示します。

L = [ 8, 6, 7, 5, 3, 0, 9 ]

L[L[3]] - 1 = -1

L[3] = 5 なので、L[L[3]] = L[5] = 0

于 2012-04-15T20:56:15.763 に答える