Python超入門④ while文とfor文で処理を繰り返そう
Pythonのwhile、for、range、break、continueを使い、同じ処理を安全に繰り返します。
第4回では、同じ処理を繰り返すwhile文とfor文を学びます。
while文
count = 1
while count <= 5:
print(count)
count += 1
countが5以下である間、処理を繰り返します。
count += 1は、count = count + 1を短く書いたものです。この行を忘れると、条件が変わらず無限ループになるので注意します。
for文とrange
回数が分かっている場合は、for文とrangeを使えます。
for number in range(1, 6):
print(number)
range(1, 6)は1、2、3、4、5を作ります。最後の6は含まれません。
リストを順番に読む
names = ["Aoi", "Ren", "Mio"]
for name in names:
print(f"こんにちは、{name}さん")
リストの値が一つずつnameへ入ります。
breakとcontinue
breakは繰り返しを途中で終了します。
while True:
command = input("終了するならq: ")
if command == "q":
break
continueは、その回の残りを飛ばして次へ進みます。
for number in range(1, 6):
if number == 3:
continue
print(number)
このコードでは3だけ表示されません。
while文とfor文の使い分け
| 場面 | 向いている書き方 |
|---|---|
| 正しい入力が来るまで続ける | while |
| 10回繰り返す | forとrange |
| リストを順番に読む | for |
小さな練習
for文とrangeを使い、1から100までの合計を求めてください。
最初にtotal = 0を用意し、繰り返すたびにnumberを足します。
模範解答
total = 0
for number in range(1, 101):
total += number
print(total)
解説
rangeでは終了値の1つ手前までが作られるため、100を含めるには終了値を101にします。total += numberはtotal = total + numberを短く書いたものです。結果は5050になります。
まとめ
- while文は、条件が正しい間繰り返します。
- for文は、回数や値の集まりを順番に処理するときに便利です。
- rangeの最後の数字は含まれません。
次の記事:Python超入門⑤ 関数を作ろう