Python サンプル集 |
Visual Basic 中学校 > Python サンプル集 > Python サンプル集目次 >
for による繰り返し
2022/11/6
→ C# のサンプルに切り替える → Visual Basic のサンプルに切り替える
目次
リストの要素の繰り返し
items = ['Apple', 'Banana', 'Cat', 'Dog']
for item in items:
print(item)
実行すると下記の通り出力されます。
Apple
Banana
Cat
Dog
辞書(ディクショナリー)の要素の繰り返し
items = {'A':'Apple', 'B':'Banana', 'C':'Cat', 'D':'Dog'}
for key in items:
print(f'{key}={items[key]}')
実行すると下記の通り出力されます。
A=Apple
B=Banana
C=Cat
D=Dog
文字列内の文字を列挙する
value = "🗿モアイ"
for letter in value:
print(letter)
メモ:Windows のコマンドプロンプトの既定の設定では🗿は文字化けするかもしれません。
実行すると下記の通り出力されます。
🗿
モ
ア
イ
C:\Windows にあるファイルを列挙
import os
path = r"C:\Windows"
for itemName in os.listdir(path):
if os.path.isfile(os.path.join(path,itemName)):
print(itemName)
C:\Windows にあるファイルとサイズを列挙
import os
path = r"C:\Windows"
for itemName in os.listdir(path):
fullPath = os.path.join(path,itemName)
if os.path.isfile(fullPath):
sizeKB = os.path.getsize(fullPath) / 1024
print(f'{itemName} {sizeKB:,.1f} KB')
環境変数の列挙
import os
for name, value in os.environ.items():
print(f'{name} = {value}')
上記の例はタプルのアンパックを利用しています。アンパックしない場合は次のようになります。結果は同じです。
import os
for env in os.environ.items():
print(f'{env[0]} = {env[1]}')
繰り返し回数を取得する
items = ['Apple', 'Banana', 'Cat', 'Dog']
counter = 0
for item in items:
counter += 1
print(f'{counter}個目 = {item}')
実行すると下記の通り出力されます。
1個目 = Apple
2個目 = Banana
3個目 = Cat
4個目 = Dog
途中でループから抜け出す (break)
この例は本来4回繰り返す指定になっていますが、if 文で条件判断して'Cat'の周で抜けます。
items = ['Apple', 'Banana', 'Cat', 'Dog']
for item in items:
print(item)
if item == 'Cat':
break
print('終了')
実行すると下記の通り出力されます。
Apple
Banana
Cat
終了
ループがすべて完了したか確認する (たとえば、breakしていないかどうか)
この例では 変数 item が "Eagle" の場合 break します。ループの処理がすべて終わった後に break して終わったのか、break しないで終わったのかメッセージを出力します。 このまま実行すると item が "Eagle" になることはないので break は発生しないで終了します。
items = ['Apple', 'Banana', 'Cat', 'Dog']
for item in items:
print(item)
if item == 'Eagle': #←ここを item == 'Banana' などに変えると、最後のメッセージが出力されなくなります。
break
else:
print('break等しないでループを終了します。') #←これが出力されます。
メモ:else に記述したプログラムは ループがbreak等で中断されずに完了したときに実行されます。
その周を中断し、次の周を開始する (continue)
if 文で条件判断して'Banana' と 'Cat' であれば処理を中断して次の周を開始します。
items = ['Apple', 'Banana', 'Cat', 'Dog']
for item in items:
print(item + ' 開始')
if (item == 'Banana') or (item == 'Cat'):
continue
print(item + ' 終了')
実行すると下記の通り出力されます。
Apple開始
Apple終了
Banana開始
Cat開始
Dog開始
Dog終了
2重ループで九九の表を作成する
for x in range(1, 10):
for y in range(1, 10):
print(f'\t{x * y}',end = '')
print()
列挙型を繰り返す
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
タプルの要素の繰り返し
items = ('Apple', 'Banana', 'Cat', 'Dog')
for item in items:
print(item)
実行すると下記の通り出力されます。
Apple
Banana
Cat
Dog