みなさんこんにちには、こんばんは
文系出身やIT未経験で、プログラミングをしてみたいけど何からしたらいいか分からない人向けの、Pythonでコーディングをしてみようの回その2になります。
全3回で、コマンドで対話する超簡単な血液型診断を作ってみようと思います。
第一回、第二回はこちら
前回は条件分岐までできましたので、今回は繰り返し処理を作ろうと思います。
繰り返し処理とは
繰り返し処理とは、その名の通り「処理をループして繰り返すこと」ができます。
繰り返し処理には2種類の書き方があります。for文とwhile文です。それぞれの特徴はこの後使い方と合わせてご説明します。
繰り返し処理してみよう
for文を使って分岐する
for文は主に特定回数繰り返しをしたいときに使われます。
for文は色々な書き方ができますが、一番かかれるのは以下の書き方です。
for i in range(5):
上記は、for文の中に記載した処理が5回処理されます。また、iには一回目の処理は0、二回目の処理は1、、、のように0~4の数字が順々に入っていきます。
また、同じような処理の書き方に、以下のようなものがあります。
for i in range(-1,4):
これは、-1から始まって4になるまで繰り返されます。なので、iには一回目の処理は-1、二回目の処理は0、、、のように-1~3の数字が順々に入っていきます。
for i in range(0,10,2):
これは、0から始まって、10になるまで、2づつ加算されて処理されます。なので、iには一回目の処理は0、二回目の処理は2、、、のように0,2,4,6,8の数字が順々に入っていきます。
では、これを先ほどまで作っていた処理に追加していきましょう。今回は5回繰り返すようにします。
for i in range(1,6):
print(str(i) + "回目の処理")
print("あなたの血液型は?")
input_str = input()
match input_str:
case "A":
print("あなたは几帳面なタイプですね")
case "B":
print("あなたの好奇心旺盛なタイプですね")
case "O":
print("あなたのおおらかなタイプですね")
case "AB":
print("あなたは二面性があるタイプですね")
case _:
print("正しく血液型を入力してください")
これで処理を実行すると、以下のような結果になりました。
1回目の処理
あなたの血液型は?
A
あなたは几帳面なタイプですね
2回目の処理
あなたの血液型は?
B
あなたの好奇心旺盛なタイプですね
3回目の処理
あなたの血液型は?
O
あなたのおおらかなタイプですね
4回目の処理
あなたの血液型は?
AB
あなたは二面性があるタイプですね
5回目の処理
あなたの血液型は?
C
正しく血液型を入力してください
ちゃんと5回処理が繰り返されていますね。
途中で処理を終わらせたい場合や処理は一旦スキップしてもう一回繰り返し処理の頭に行きたい場合などあるかと思います。そういった場合、breakやcontinueというのが使えます。breakは処理を終わらせることができ、continueは処理をスキップして繰り返し処理の頭に戻ることができます。
for i in range(1,6):
print(str(i) + "回目の処理")
print("あなたの血液型は?")
input_str = input()
match input_str:
case "A":
print("あなたは几帳面なタイプですね")
case "B":
print("あなたの好奇心旺盛なタイプですね")
case "O":
print("あなたのおおらかなタイプですね")
case "AB":
print("あなたは二面性があるタイプですね")
case "C":
print("処理を終了します。")
break
case "D":
print("処理をスキップします。")
continue
print("ここの処理は実行されません")
case _:
print("正しく血液型を入力してください")
上記のようにコードを修正して見ました。
1回目の処理
あなたの血液型は?
D
処理をスキップします。
2回目の処理
あなたの血液型は?
C
処理を終了します。
思った通りの処理になっていますね。
while文を使って繰り返す
while文は不特定回数処理を繰り返すときに使われます。
書き方は以下です。
while(True):
()の中に条件を記載し、それが正の場合ずっと繰り返します。例で書いたような処理は、永遠に繰り返しされます。for文と同じくbreakなども使えます。
今回は、変な文字が入力されるまではずっと処理を繰り返してみましょう。
i = 1
while(True):
print(str(i) + "回目の処理")
print("あなたの血液型は?")
input_str = input()
match input_str:
case "A":
print("あなたは几帳面なタイプですね")
case "B":
print("あなたの好奇心旺盛なタイプですね")
case "O":
print("あなたのおおらかなタイプですね")
case "AB":
print("あなたは二面性があるタイプですね")
case _:
print("正しく血液型を入力してください。処理を終了します。")
break
i += 1
これで実行して見ましょう。
1回目の処理
あなたの血液型は?
A
あなたは几帳面なタイプですね
2回目の処理
あなたの血液型は?
B
あなたの好奇心旺盛なタイプですね
3回目の処理
あなたの血液型は?
C
正しく血液型を入力してください。処理を終了します。
想定通りですね。AやBなど正しい文字が入力されているときは処理が繰り返され、Cという存在しない血液型が入力されたときに処理を終了しました。
いかがだったでしょう。for文とwhile文で繰り返す方法がご理解いただけましたでしょうか?
最後に
以上でPythonを使った血液型診断の開発は完了です。
条件分岐と繰り返し処理しかしていませんが、プログラミングはこれらで処理が成り立っています。他にもさまざまな仕組みや考え方はありますが、これらが一番大事な基礎になります。
ぜひこの基礎を応用して、作って見たいアプリなんかをイメージしてみると面白いかもしれません。
次回はぜひすこし高度な開発編でお会いしましょう!
ここまでありがとうございました。お疲れ様でした!
コメント