2016-04-25 10 views
0

は誰かは、以下のプログラムでは、外側forループの機能が何であるかを教えてくださいすることができ:私のプログラムで外側のforループは何をしますか?

forループ
Mylist = [4,67,3,7,65,3,56,] 
maxLengthList = 7 

print ('The all Number for Buble Sort is:', Mylist) 

for i in range(len(Mylist)-1,0,-1): 
    for j in range(i): 
     if Mylist[j]>Mylist[j+1]: 
      temp = Mylist[j] 
      Mylist[j] = Mylist[j+1] 
      Mylist[j+1] = temp 


print('After Buble Sort the Number are:',Mylist) 
+0

を正確に理解することはできませんか?また、[Wikipedia](https://en.wikipedia.org/wiki/Bubble_sort)を試しましたか? – MikeJRamsey56

+0

ポストを書くときのボタンの1つは、コードをフォーマットすることです。コードがフォーマットされるようにあなたの答えを編集できれば、それは普通のものであり、私たち全員に読めるように見えます。 –

+0

なぜ、外側ループの初期化、範囲、インクリメントが次のようになっているのか理解できません:範囲内のi(len(Mylist)-1,0、-1).........プログラムはバブルソート用です –

答えて

0

ザ・意志step後方(-1)6(len(Mylist)-1)から開始して、1で最後を停止停止前の値(0)。 rangeドキュメントfor i in range(len(Mylist)-1,0,-1):ラインでrange(start, stop, step)

>>> range(len(Mylist)-1, 0, -1) 
[6, 5, 4, 3, 2, 1] 
+0

ありがとうございます!私は今理解した!初心者のための基礎がある良いサイトはありますか? –

0

を参照してください、レンジ機能には3つの引数があります。 len(Mylist)-1は、範囲の上限値を示します。 0は、範囲の下限値を示します。 -1は増分のサイズです。つまり、ループに入るたびに1ずつ増加するのではなく、1を減算します。

ループの最後から2番目の値から開始します。 len(Mylist)-1。私たちは1を引く、-1の部分は、私たちが終了するまで、forループを通過するたびに0

参考のために、ドキュメントの状態を示します。

範囲(停止)

範囲(開始、停止、[ステップ])

これは は等差数列を含むリストを作成する多目的関数です。 forループで最もよく使われるのは です。引数は単純な整数でなければなりません。ステップ の引数を省略すると、デフォルトは1になります。開始引数が が省略された場合、デフォルトは0になります。完全な形式では、 の整数のリスト[start, start + step, start + 2 * step, ...]が返されます。ステップが が正である場合、最後の要素は最大でstart + i * step ストップ未満です。 stepが負の場合、最後の要素はstopより大きい最小のstart + i > * stepです。 stepはゼロであってはなりません(そうでなければ、ValueErrorが発生します)。

例:

>>> 
>>> range(10) 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
>>> range(1, 11) 
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
>>> range(0, 30, 5) 
[0, 5, 10, 15, 20, 25] 
>>> range(0, 10, 3) 
[0, 3, 6, 9] 
>>> range(0, -10, -1) 
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9] 
>>> range(0) 
[] 
>>> range(1, 0) 
[] 
+0

ありがとうございました!私はちょうど1つの質問を持っています。なぜ0から始まる下限と、最後の値、つまり0からリストの最後の値までの範囲を使用できないのですか? –

+0

バブルソートアルゴリズムの仕組みのために、そうする必要はありません。 'len(Mylist)-1'回ループした後、リストは既にソートされます。あなたが小さなリストで何が起こるかを分析すると、リストは 'len(Mylist)-1'の反復の後にソートされていることがわかります。 –

関連する問題