while
他の回答では、ループ (またはループ)を使用して文字列を反復処理する必要があるコードが既に提供されていますがfor
、2 つのタイプのループの違いを説明するのに役立つと思いました。
while
ループは、特定の条件が満たされるまでコードを繰り返します。例えば:
import random
sum = 0
while sum < 100:
sum += random.randint(0,100) #add a random number between 0 and 100 to the sum
print sum
このコードは、合計が 100 以上になるまで、0 から 100 の間の乱数を追加し続けます。重要な点は、このループが 1 回だけ実行される可能性があること (最初の乱数が 100 の場合) または無限に実行される可能性があることです (それが続く場合)。乱数として 0 を選択します)。ループが完了するまで、ループが何回実行されるかは予測できません。
for
ループは基本的に while ループですが、あらかじめ設定した回数だけループを実行したい場合に使用します。Javafor
ループは通常、ある種のカウンター変数 (以下では を使用) を使用し、通常、とループi
の類似性をより明確にします。while
for
for (int i=0; i < 10; i++) { //starting from 0, until i is 10, adding 1 each iteration
System.out.println(i);
}
このループはちょうど 10 回実行されます。これは、これを書くためのより良い方法です:
int i = 0;
while (i < 10) { //until i is 10
System.out.println(i);
i++; //add one to i
}
for ループの最も一般的な使用法は、リスト (または文字列) を反復処理することです。これは、Python を使用すると非常に簡単になります。
for item in myList:
print item
また
for character in myString:
print character
ただし、for
ループを使用したくありませんでした。その場合、インデックスを使用して各文字を調べる必要があります。このような:
print myString[0] #print the first character
print myString[len(myString) - 1] # print the last character.
for
ループとカウンターのみを使用してループを作成できること、while
およびインデックスによって個々の文字にアクセスできることを知っていれば、ループを使用して各文字に 1 つずつ簡単にアクセスできるはずwhile
です。
ただし、一般的には、for
読みやすいので、この状況ではループを使用します。