ミニマリズムはPythonの魂です|バグを見つけるためのPythonコード(10)

バグを見つけるためのPythonコード(10)

前の期間のコード設計要件:

3行3列の2つのマトリックス:

X = [[12,7,3],

[4 ,5,6],

[7 ,8,9]]

Y = [[5,8,1],

[6,7,3],

[4,5,9]]

対応する位置にデータを追加し、新しいマトリックスを返してください。

コードは次のように表示されます:

バグを見つけるためにコードを注意深く読んでください!

**正解:**合計2つの質問があります。 (回答時間については、正解の数を確認してください)

(1)1つは本当のバグです。 range()メソッドのパラメーターに注意してください。Xマトリックスリストの長さは最大サイクル数であると予想されるだけでなく、Xリストのインデックスとなるループ変数iの値の範囲も同様です。したがって、インデックスは0からカウントされるため、開始値は1ではなく0にする必要があります。したがって、len(X)に1を追加する必要はありません。次のネストされたループについても同じことが言えます。

(2)もう1つは、コードの最適化が必要な問題ですが、プログラムが機能するため、完全にバグとは見なされません。ただし、繰り返しコードを記述しないことを含め、コードは可能な限り簡潔にする必要があると言っています。多くの場合、問題の解決についての考え方は、コードの複雑さに直接影響します。上記のコードでは、マトリックス操作の戻り値を格納するために空のリストRを定義します。したがって、次のサイクルの最初のラウンドで、空のリストZを定義して、サイクルの2番目のラウンドでXマトリックスとYマトリックスの対応する行を追加した結果を格納します。サイクルは終了します。この結果、 Rリストに追加できます。アイデアに問題はないようですが、もっと簡潔にできますか?最初から2次元のR行列を定義してみませんか?このように、X行列とY行列の計算結果を直接Rに直接更新することはできませんか?そうです、間違いなくこんな感じです。ただし、この2つの違いは正式なものではなく、習慣的な思考の複雑さです。私たちは常に、多次元の並列思考モードではなく、1次元の線形方法を使用して問題を順番に検討することに慣れています。このケースは、私たちがそのような問題について考えるのを助けるために起こります。考えてみてください、X [i]とX [i] [j]の違いは何ですか?どちらがより効率的ですか? Pythonが常に比較的複雑なデータ構造を定義する理由は、問題を処理するロジックを単純にするためです。結局のところ、問題を処理することが目標です。

したがって、正しいコードは次のようになります。

コメント:このコードはバグを見つけます。主な目的は次のとおりです。

(1)マトリックスを学び、多次元データの表現を認識します。

(2)基本的な文法を統合し、range()メソッドの複数のパラメーターのアプリケーションを習得します。

(3)複雑なデータ構造の熟練したアプリケーション能力を訓練する。

上記のコードを理解するのが難しい学生は、Gaoduから送信された「Introductionto Python」、またはGaoduWebサイトのビデオコース「IntroductiontoPythonEasy」を読んで学習してください。

この問題のコード設計要件: 2つの変数の値を交換します。

コードは次のように表示されます:

比較的複雑な問題を何度か試した後、この問題は単純です。もちろん、上記のコードはまだバグがあります。見つけて、メッセージに投稿して、明日答えてください。

**正解は明日発表されます。 ****

注意:従来、すべてのコードはPythpn3に基づいています。

Recommended Posts

ミニマリズムはPythonの魂です|バグを見つけるためのPythonコード(10)
バグを見つけるためのPythonコード(7)
バグを見つけるためのPythonコード(4)
バグを見つけるためのPythonコード(3)
バグを見つけるためのPythonコード(9)
バグを見つけるためのPythonコード(6)
バグを見つけるためのPythonコード(1)
バグを見つけるためのPythonコード(8)
バグを見つけるためのPythonコード(5)
実際には非常に単純です|バグを見つけるためのPythonコード(12)
pythonで円の領域を見つける方法
Pythonの用途は何ですか
python変数の範囲は何ですか
ヘビを実現するための200行のPythonコード
pythonのid関数は何ですか
python開発の見通しは何ですか
pythonの関数本体は何ですか
pythonでのadbの機能は何ですか
Pythonはスネークゲームのソースコードを実装しています
航空機戦争を達成するための500行のPythonコード
Pythonコードをまとめて正しく移動する方法
エンタープライズ言語に対するpythonの利点は何ですか
pythonファイルが書かれた後に練習する方法
Pythonでのパッケージの導入を理解する方法
プレイカードの配布を実現するためのPythonシミュレーション
Pythonの基盤を統合する(4)
Python(7)の基盤を統合する
Python(6)の基盤を統合する
Python(5)の基盤を統合する
実行中のUbuntuバージョンに対応するカーネルソースコードを見つけます
pythonコードは大文字と小文字を区別しますか
Pythonの基盤を統合する(3)
pythonでのwheelの使用法
pythonコードでラップする方法
Pythonは中国語の4つの車輪を処理します
pythonプログラムを保存する方法
Pythonはクロスプラットフォームの言語コードです
地主取引のPythonシミュレーション
Python文字列プーリングの前提
Python3.8の新機能の秘密
pythonモジュールを表示する方法
Pythonの父がMicrosoftに加わる
python accesshdfsの操作
pythonでのタプルの使用法
pythonクローラーは簡単に習得できますか
Pythonは実行する操作コードを処理します
pythonを実行するメソッドを終了します
Pythonはスタックの構造を実装できますか?
pythonのpipの用途は何ですか
pythonインタラクティブモードの基本を学ぶ
pythonのインストールが成功したことを確認する方法
pythonの必須パラメーターは何ですか
pythonの下部にあるロジスティック回帰
Python3クローラーでのAjaxの使用
PythonはTowerofHanoiゲームを解決します
パスワードの強度を判断するためのPython文字列
pythonの複数のバージョンの競合を解決します
Pythonは分数シーケンスの合計を実装します
Pythonの基礎を学ぶ2日間
Python言語の本質:Itertoolsライブラリ
pythonインスタンス化オブジェクトの特定のメソッド