python3 whileとforの使いわけ

whileとforの使い分けを説明します。
下記の何れかに当てはまる時はwhile文を使用します。
1. ループ条件がi < 定数で表現できない時
2. ループ条件で使用する変数を変更したい時

言い換えると下記の様なC言語のfor文で表現できない時は、while文を使います。
for(int i = 初期値; i < 定数; i += ループ毎の増分)
{
任意の処理(ただし、iの値は変更しない)
}

cのforとpythonのforの対応は、kevの回答が参考になります。
How do I use a C-style for loop in Python? – Stack Overflow

1. ループ条件がi < 定数で表現できない時

def judgePrime(n):
    i = 2
    #ループの条件がi < 定数ではない時は、while文を使用します。
    while(i * i <= n):
        if n % i == 0:
            return False
        i += 1
    return True

x = int(input())
target = x
#ループの条件に関数の結果を含む場合は、while文を使用します。
while(judgePrime(target) == False):
    target += 1
print(target)

2. ループ条件で使用する変数を変更したい時

下記の様に、ループの条件で使用する変数iを処理中に変更したい時はwhile文を使用します。

l = [val for val in range(6)]
i = 0
while i < 6:
    if i == 2:
        i = 3
    print(i)
    i += 1
"""
出力は下記です。
0
1
3
4
5
"""

rob mayoffの回答が参考になります。
How do I use a C-style for loop in Python? – Stack Overflow

コメント

タイトルとURLをコピーしました