Python サンプル集 |
Visual Basic 中学校 > Python サンプル集 > Python サンプル集目次 >
for による回数指定の繰り返し
2022/11/6
→ C# のサンプルに切り替える → Visual Basic のサンプルに切り替える
目次
5回繰り返す
for i in range(5):
print('こんにちは!')
実行すると下記の通り出力されます。
こんにちは!
こんにちは!
こんにちは!
こんにちは!
こんにちは!
繰り返し回数を取得する
for i in range(5):
print(f'現在{i}周目です。')
実行すると下記の通り出力されます。
現在0周目です。
現在1周目です。
現在2周目です。
現在3周目です。
現在4周目です。
途中でループから抜け出す (break)
この例は本来10回繰り返す指定になっていますが、if 文で条件判断して3周目で抜けます。
for i in range(11):
print(f'カウンター={i}')
if i == 2:
break
print('終了')
実行すると下記の通り出力されます。
カウンター=0
カウンター=1
カウンター=2
終了
ループがすべて完了したか確認する (たとえば、breakしていないかどうか)
この例では 変数 i が 9999 の場合 break します。ループの処理がすべて終わった後に break して終わったのか、break しないで終わったのかメッセージを出力します。 このまま実行すると i は 9999 にならないので break は発生しないで終了します。
for i in range(11):
print(f'カウンター={i}')
if i == 9999: #←ここを i == 2 などに変えると、最後のメッセージが出力されなくなります。
break
else:
print('break等しないでループを終了します。') #←これが出力されます。
メモ:else に記述したプログラムは ループがbreak等で中断されずに完了したときに実行されます。
その周を中断し、次の周を開始する (continue)
if 文で条件判断して2周目と3周目であれば処理を中断して次の周を開始します。
for i in range(5):
print(f'カウンター {i} 開始')
if (i == 1) or (i == 2):
continue
print(f'カウンター {i} 終了')
実行すると下記の通り出力されます。
カウンター 0 開始
カウンター 0 終了
カウンター 1 開始
カウンター 2 開始
カウンター 3 開始
カウンター 3 終了
カウンター 4 開始
カウンター 4 終了
次の周は実行しない。次の次から実行する。(という機能はありません)
Python にはそのような機能はありません。
C# や VB などの他の言語ではカウンター変数に直接値を代入することで前にも後ろにも任意の周に移動できます。
メモ:Pythonの forループは C#でいう foreach、VBで言うFor Eachなのです。
2重ループで九九の表を作成する
for x in range(1, 10):
for y in range(1, 10):
print(f'\t{x * y}',end = '')
print()
カウントを 5 から開始する
この例では 5 からカウントを開始します。
for i in range(5, 8):
print(f'カウンター={i}')
実行すると下記の通り出力されます。
カウンター=5
カウンター=6
カウンター=7
2ずつカウントアップする
for i in range(0, 10, 2):
print(f'カウンター={i}')
実行すると下記の通り出力されます。
カウンター=0
カウンター=2
カウンター=4
カウンター=6
カウンター=8
カウントダウンする
for i in range(100, 95, -1):
print(f'カウンター={i}')
実行すると下記の通り出力されます。
カウンター=100
カウンター=99
カウンター=98
カウンター=97
カウンター=96
列挙型を繰り返す
from enum import Enum
DayOfWeek = Enum('DayOfWeek', 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday')
for p in DayOfWeek:
print(f'{p.value}:{p.name}')
メモ:列挙型の値は 1 から順番に割り当てられます。 0 からではありません。
実行すると下記の通り出力されます。
1:Sunday
2:Monday
3:Tuesday
4:Wednesday
5:Thursday
6:Friday
7:Saturday