見出し画像

Python3 while文

式の値がTrueである間、ブロック内の処理を繰り返すのがwhile文です。以下のように用います

i = 0
while i < 10:        
    print("Hello World")
    i = i + 1

これはi<10の条件の場合無限に「Hello World」と言い続けるwhile文になります。ただ本当に無限回繰り返すと困るので、処理の中に「i = i+1」を組み込んでおくことで10回処理を行ったら止まるようになっています。

もう一つwhile文で覚えておくべきものが「while Ture」です。これはある条件を満たす間、処理を繰り返すものになります。(勉強中で違いが分かってないが多分どっち使っても同じ結果を出力できる)

cnt = 0
while True:
    x = int(input())
    cnt = cnt + 1
    if x == 0:
        break   #無限ループからの脱出
    print("Case " + str(cnt) + ": " + str(x))

これは入力した数字をそのまま返すが、0の場合は処理を終了するものになります。黒ひげ危機一髪みたいな。

あとは「aからbの間にcの約数は何個あるか」というものもwhile文で処理できます。

a,b,c = map(int, input().split())
1 1000 840
cnt=a
count=0
while True:
    if c%cnt == 0:
        count= count + 1 #余りが0だったら数え上げる
    if cnt==b:
        print(str(count)) #bにたどり着いたら出力してbreak
        break
    cnt=cnt+1 


この記事が気に入ったらサポートをしてみませんか?