Pythonのススメ4
はじめに
Pythonでプログラムを書くにあたり、文法や言語仕様などの個人的なメモを記載する。今回のネタは条件分岐と繰り返し。
条件分岐
条件分岐をする際はifを使う。構成は以下の通り。
※ifにしろif-elifにしろ、if-elseまたはif-elif-elseにしろ、末尾に頃に「:」を付けることを忘れないこと。
条件分岐1
if (条件1): 「条件1」がtrueだったときの処理。
条件分岐を複数指定したいときは以下のようにif-elifを使う。
条件分岐2
if (条件1): 「条件1」がtrueだったときの処理。 elif (条件2): 「条件2」がtrueだったときの処理。 ・・・
ifまたはif-elifのいずれにも条件がマッチしなかったときに処理をしたい場合はelseを使う。
条件分岐3
if (条件1): 「条件1」がtrueだったときの処理。 else: 「条件1」にマッチしなかったときの処理。
条件分岐4
if (条件1): 「条件1」がtrueだったときの処理。 elif (条件2): 「条件2」がtrueだったときの処理。 else: 「条件1」にも「条件2」にもマッチしなかったときの処理。
・AND条件を指定したい場合はandを使う。
CやJavaの「&&」に相当する。
if 条件1 and 条件2: 「条件1」と「条件2」の両方を満たすときの処理。
・OR条件を指定したい場合はorを使う。
CやJavaの「||」に相当する。
if 条件1 or 条件2: 「条件1」と「条件2」の少なくともどちらか片方を満たすときの処理。
繰り返し
繰り返しをする際はforを使う。構成は以下の通り。
※末尾に頃に「:」を付けることを忘れないこと。
繰り返し
for 変数 range(範囲): 何かしらの処理
例えば以下のように記載した場合、変数iに0~29の値の代入が30回行われる。
すなわち、30回処理が行われる。
繰り返し例1
for i range(30): 何かしらの処理
これは、以下のように記載したときの動作と同じ。
繰り返し例2
for i range(0, 30): 何かしらの処理
スタートを0ではなく1にしたい場合は以下のようにする。
この場合、1~29の29回、処理が繰り返される。
繰り返し例3
for i range(1, 30): 何かしらの処理
繰り返しの処理では以下の文がよくつかわれる。
・break: 繰り返し処理を終える。
・continue: その回の処理を終了し、次の繰り返しを実行する。
サンプルプログラム
条件分岐と繰り返しを使ったFizzBuzzプログラムを以下に記す。・仕様1: 1~30の数字を表示する。
・仕様2: 表示する数字が3で割り切れる場合は数字とともに「Fizz」を表示する。
・仕様3: 表示する数字が5で割り切れる場合は数字とともに「Buzz」を表示する。
・仕様4: 表示する数字が3と5の両方で割り切れる場合は数字とともに「FizzBuzz」を表示する。
FuzzBizzプログラム
for i in range(30): num = i + 1 if num % 3 == 0 and num % 5 == 0: print(str(num) + ": FizzBuzz") elif num % 3 == 0: print(str(num) + ": Fizz") elif num % 5 == 0: print(str(num) + ": Buzz") else: print(str(num))
実行結果
1 2 3: Fizz 4 5: Buzz 6: Fizz 7 8 9: Fizz 10: Buzz 11 12: Fizz 13 14 15: FizzBuzz 16 17 18: Fizz 19 20: Buzz 21: Fizz 22 23 24: Fizz 25: Buzz 26 27: Fizz 28 29 30: FizzBuzz
終わりに
Pythonの条件分岐と繰り返しについて、サンプルプログラムを交えて記載した。条件分岐と繰り返しは、プログラムの基本ともいえる。
これにより、今後Pythonでより実用的なプログラムを書くことができるようになる。
今後はコレクションなどについても記載していく。