バグを見つけるためのPythonコード(9)
前の期間のコード設計要件:
5人が一緒に座って、5人目は何歳ですか?彼は4人目より2歳年上だと言った。 4人目の年齢を聞いたところ、3人目より2歳年上だったそうです。第三者に聞いて、彼は二人目より2歳年上だと言います。 2人目に聞いて、彼は1人目より2歳年上だと言います。最後に、私は最初の人に尋ねました、彼は彼が10歳であると言いました。 5人目は何歳ですか?
再帰的アルゴリズム計算を使用する必要があります。
コードは次のように表示されます:
バグを見つけるためにコードを注意深く読んでください!
正解: 2つのバグがあります。 (回答時間については、正解の数を確認してください)
(1)コードの5行目:c = age(n)+ 2、age()関数が呼び出されます。これは再帰的アルゴリズムの特徴ですが、パラメーターnは計算の各ラウンドの経過時間を表すため、呼び出しごとにn-1である必要があります。
(2)関数の戻り値は確かにnですか?前回も同じ間違いをしました。 cを返すように変更する必要があります。
したがって、正しいコードは次のようになります。
**コメント:**このコードはバグを検出します。これは、主な目的である再帰的アルゴリズムを確認する場合です。
(1)学習再帰アルゴリズムを統合します。
(2)再帰的アルゴリズムにおける関数の戻り値の理解を深めます。
上記のコードを理解するのが難しい学生は、Gaoduから送信された「Introductionto Python」、またはGaoduWebサイトのビデオコース「IntroductiontoPythonEasy」を読んで学習してください。
この問題のコード設計要件:
3行3列の2つのマトリックス:
X = [[12,7,3],
[4 ,5,6],
[7 ,8,9]]
Y = [[5,8,1],
[6,7,3],
[4,5,9]]
対応する位置にデータを追加し、新しいマトリックスを返してください。
コードは次のように表示されます:
もちろん、上記のコードはまだバグがあります。見つけて、メッセージに投稿して、明日答えてください。
**正解は明日発表されます。 ****
**注意:従来、すべてのコードはPythpn3に基づいています。 ****
Recommended Posts