競馬で覚えるPython初心者のための覚書②
Pythonプログラミングの基礎についての記事第2弾となります。
今回は、以下について競馬要素を交えて、纏めていきます。
章 | 処理内容 |
---|---|
1 | if文による条件分岐 |
2 | for文による繰り返し処理 |
1.if文による条件分岐
基本的な書式は次の通りです。
elifは、C言語・Java言語などにおけるelse ifに相当します。
if 条件式1:
#条件式1がTrueのときに行う処理
elif 条件式2:
#条件式1がFalse かつ 条件式2がTrueのときに行う処理`
elif 条件式3:
#条件式1, 2がFalse かつ 条件式3がTrueのときに行う処理`
...
else:
#上記条件式が全てFalseのときに行う処理
1.1.list型の空判定について
inによるリストに特定の値が含まれるかの判定
ground_state_list = ['良', '稍重', '重', '不良']
if '稍' in ground_state_list:
print("True")
else:
print("False")
# False
inによるリスト判定は、完全一致となりますので、'稍'は、Falseとなります。
inでnotによるリストに特定の値が含まれていないことの判定
ground_state_list = ['良', '稍重', '重', '不良']
if '障害' not in ground_state_list:
print("True")
else:
print("False")
# True
1.2.list型の空判定について
2つ方法をご紹介します。
1つ目は、直感的に思いつくlen()関数にてサイズを計測する判定方法
# 間違ったlist空の判定
ground_state_list = []
if len(ground_state_list) == 0:
print('リストは空')
else:
print('リストは空ではない')
2つ目は、Pythonのコーディング規約のPEP 8準拠の判定方法
# PEP 8準拠のlist空の判定
ground_state_list = []
if not check_list:
print('リストは空')
else:
print('リストは空ではない')
2.for文による繰り返し処理
for文は決められた回数だけ、処理を繰り返します。
基本的な書式は次の通りです。
for 変数 in イテラブルオブジェクト:
実処理
2.1.list型
以下のように、listを指定することも可能です。
例)list指定のfor文
ground_state_list = ['良', '稍重', '重', '不良']
for ground_state in ground_state_list:
print(ground_state)
# 良
# 稍重
# 重
# 不良
以下のように、listのスライス指定も可能です。
例)listのスライス指定のfor文
ground_state_list = ['良', '稍重', '重', '不良']
for ground_state in ground_state_list[1:3]:
print(ground_state)
# 稍重
# 重
2.2.range()関数
3回繰り返すfor文を書きたい場合は、range()関数を使用すると便利です。
例)range()のfor文
for i in range(3):
print(i)
# 0
# 1
# 2
0からではなく1からなど任意の範囲を指定したい場合は、range(start, stop) のように2つの引数を指定する事も可能です。
例)range(start, stop)のfor文
for i in range(5, 8):
print(i)
# 5
# 6
# 7
インクリメント値(増加量)を1ずつではなく、任意で指定したい場合は、range(start, stop, step) のように3つ目の引数(step)を指定する事も可能です。
例)range(start, stop, step)のfor文
for i in range(2, 7, 2):
print(i)
# 2
# 4
# 6
stepには負の値を指定することも可能です。
例)step < 0 のfor文
for i in range(5, 2, -1):
print(i)
# 5
# 4
# 3
逆順で繰り返し処理を実施したい場合は、上記の負の値の他にも、reversed()関数を使用して記載することも可能です。
例)reversed()のfor文
for i in reversed(range(3)):
print(i)
# 2
# 1
# 0
Discussion