これは、トレース テーブルの使用によって最もよく説明されます。
1) すべての変数と条件が上部に配置されています
2) 変数/条件が変更されるたびに、1 行下に移動して表に入力します。
1 行目: i は 1 に初期化されます
Line2: 条件 i <=3 が True であるため、トレース テーブルに 1 行下に追加します
3 行目: j は 1 に初期化されます
行 4-8 内側の while ループは、j<3 が false になるまで実行されます
何が起こっているかというと、out while ループが 1 回実行され、そこで別のインデントされた while ループに出会います。このループは、i が次にインクリメントされる前にそのコースを実行する必要があります。
アルゴリズムの複雑さの副作用または興味深い点の 1 つは、外側の while ループが実行される回数だけ内側の while ループが実行されることです。これは N * N の順です。真理値表から、これが正しいことがわかります。j が 3 回目の反復に到達する前に停止するため、内部の while は 3 回 (実際には n 回ではなく、N-1) 実行されます。