Pythonには条件分岐のif文や、繰り返し処理のwhile文, for文 があります。
動作について再確認をしたいと思います。
PHPではswitch文や、foreach文がありますがPythonにはありません。
条件分岐
if文
条件式の内容に対して、True(真)/False(偽)の判定を行い判定に合わせて処理をおこないます。プログラムの書き方は下記のようになります。
if 条件式 :
print('Trueの場合はこちら')
}
if 条件式 :
print('Trueの場合はこちら')
else :
print('Falseの場合はこちら')
}
if 条件式1 :
print('条件式1がTrueの場合はこちら')
elif 条件式2
print('条件式1がFalse、条件式2がTrueの場合はこちら')
else :
print('両条件ともFalseの場合はこちら')
}
tmp = 'AAA'
if tmp == 'AAA':
print('内容はAAAです')
# 結果 内容はAAAです
if tmp == 'BBB':
print('内容はBBBです')
else:
print('内容はその他です')
# 結果 内容はその他です
if tmp == 'BBB':
print('内容はBBBです')
elif tmp == 'AAA':
print('内容はAAAです')
else:
print('内容はその他です')
# 内容はAAAです
Pythonではif文等でプログラム処理を分岐させる際にどこまでが範囲か判定する方法がインデントにより判定をされます。
PHPと違う点になりますので注意になります。
繰り返し文
while文
条件式の内容がFalse(偽)になるまで繰り返し処理を行います。
プログラムの書き方を間違えると条件がFalseにならず無限ループをする場合があります。
while 条件式:
print('条件式がfalseになるまで処理を繰り返し')
num = 0
while num < 4:
num += 1
print(num)
# 結果
# 1
# 2
# 3
# 4
breakでループを抜ける
ループ処理の中でbreak文を使用することでループを抜けることができます。
num = 0
while num < 4:
num += 1
if num == 2:
break
print(num)
# 結果
# 1 <= 2と3はbreakにより出力されなくなりました。
continueでループをスキップ
ループ処理の中でcontinue文を使用することで指定のループをスキップして次のループ処理にはいることができます。
num = 0
while num < 4:
num += 1
if num == 2:
continue
print(num)
# 結果
# 1
# 3 <= 2のループがスキップされています
# 4
for文
配列または文字列、辞書型を渡すと変数に要素を代入しながら繰り返し処理を行います。
for 変数 in 配列または文字列:
print(変数)
配列を使った場合
array = ['a', 'b', 'c']
for key in array:
print(key)
# 結果
# a
# b
# c
文字列を使った場合
str = 'abc'
for key in str:
print(key)
# 結果
# a
# b
# c
辞書型を使った場合
array = {'a': '100', 'b': '200', 'c': '300'}
for key, value in array.items():
print(key + ' : ' + value)
# 結果
# a : 100
# b : 200
# c : 300
breakでループを抜ける
array = ['a', 'b', 'c']
for key in array:
if key == 'b':
break
print(key)
# 結果
# a <= bとcはbreakにより出力されなくなりました。
continueでループをスキップ
array = ['a', 'b', 'c']
for key in array:
if key == 'b':
continue
print(key)
# 結果
# a
# c <= bのループがスキップされています
zip関数で複数配列処理
複数の配列を同時に出力したい場合、zip関数を利用する事でシンプルに要素の出力が可能です。
array1 = ['a', 'b', 'c']
array2 = ['1', '2', '3']
for str1, str2 in zip(array1, array2):
print(str1 + ' : ' + str2)
# 結果
# a : 1
# b : 2
# c : 3
enumerate関数を使い配列出力に連番を追加
for i, key in enumerate(['a', 'b', 'c']):
print(str(i) + ' : ' + key) # iが数値のため文字列にキャスト
# 結果
# 0 : a
# 1 : b
# 2 : c
まとめ
今回は条件分岐と繰り返し処理に関して確認をしました。
次回は関数定義に関して確認をしていきます。
サンプルプログラム
こちらの記事で作成したプログラムはGitHub環境にアップしております。
下記からダウンロードいただけます。