【Python3】制御文(条件分岐と繰り返し処理)

if文(条件分岐)

条件によって処理を振り分けるための制御文です。

条件が1個の時

if 条件式:
条件式が真の時に実行する処理1
条件式が真の時に実行する処理2
else:
条件式が偽の時に実行する処理1
条件式が偽の時に実行する処理2

条件が複数ある時

if 条件式:
条件式1が真の時に実行する処理1
条件式1が真の時に実行する処理2
elif 条件式:
条件式2が真の時に実行する処理1
条件式2が真の時に実行する処理2
else:
条件式1と2がいずれも偽の時に実行する処理1
条件式1と2がいずれも偽の時に実行する処理2

※elif は else if を短くしたもの

ループ文(while)

指定した「条件」を満たしている間は、処理を繰り返す制御文です。

n = 0
while 条件:
実行する処理1
実行する処理2

n = 0;
while n < 10:
    print n
    n += 1

else 節

else がある場合には、ループの最後に else 節が実行されます。

n = 0
while n < 10:
    print n
    n += 1
else:
    print 'ループ終了'

for文

for 変数 in リスト、タプルの各要素、辞書のキー、文字列の各文字、ファイルの各行など :
実行する処理1

for n in [1, 2, 3]:
    print n
for n in (1, 2, 3):
    print n
for k in {'one': 1, 'two': 2, 'three': 3}:
    print k
for c in "123":
    print c
for line in open("sample.txt"):
    print line

else 節

else がある場合には、ループの最後に else 節が実行されます。

for n in [1, 2, 3]:
    print n
else:
    print 'ループ終了'n

range() 関数

処理を n 回繰り返したい場合は range() を使用します。

for n in range(5):
    print n

range() 関数では、開始値を指定したり、増加量(負の数でも可)も指定できます。

range(5, 10)
   5 through 9

range(0, 10, 3)
   0, 3, 6, 9

range(-10, -100, -30)
  -10, -40, -70

文字列指定

文字列に指定した場合は、それぞれの文字に対して実行します。

for c in u'あいうえお':
    print c

break文

最も内側のループを抜けます。

for n in range(10):
    if n == 5:
        break
    print n                  # 0, 1, 2, 3, 4

continue文

最も内側のループ処理を繰り返します。

for n in range(10):
    if n == 5:
        continue
    print n                  # 0, 1, 2, 3, 4, 6, 7, 8, 9

Python3入門

Posted by 管理人