🏇

競馬で覚えるPython初心者のための覚書②

2022/09/28に公開

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