Python - 制御フロー
こんにちは、将来のPythonプロです!今日は、Pythonの魅力的な制御フローの世界に飛び込みます。制御フローをプログラミングの交通信号と考えてください - それはコードの流れを指示し、いつ進むべきか、止まるべきか、または迂回するべきかを伝えます。始めましょう!
決定文
アイスクリームショップにいるところを想像してください。チョコレートかバニラを決めなければなりませんか?これは、Pythonの決定文が行うことと全く同じです - プログラムに選択肢を提供します。
'if' 文
'if' 文は最も簡単な決定方法です。以下のように動作します:
ice_cream_flavor = "chocolate"
if ice_cream_flavor == "chocolate":
print("おいしい!チョコレートは私のお気に入りです!")
この例では、ice_cream_flavor
が"chocolate"の場合、メッセージが表示されます。それ以外の場合は、何も起こりません。
'if-else' 文
しかし、条件が偽の場合に何かを行いたい場合はどうでしょうか?そんなときに'else'が役立ちます:
age = 15
if age >= 18:
print("あなたは投票できます!")
else:
print("残念、あなたはまだ投票できません。")
ここでは、年齢が18歳以上の場合は"あなたは投票できます!"を表示し、それ以外の場合は他のメッセージを表示します。
'if-elif-else' 文
時々、複数の条件をチェックする必要があります。そんなときに'elif'('else if'の略)が便利です:
score = 85
if score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
else:
print("改善が必要です")
このコードは、スコアに応じて対応する成績を表示します。
ループまたは反復文
ループは、コードのメリーゴーランドです。同じコードを何度も書くことなく、アクションを繰り返すことができます。
'for' ループ
'for' ループは、何回繰り返したいかを知っている場合に非常に便利です:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(f"{fruit}が好きです!")
このループは、リスト内の各果物に対して"I love [fruit]!"を表示します。
'while' ループ
'while' ループは、条件が真の間は続きます:
count = 0
while count < 5:
print(f"カウントは{count}")
count += 1
これは、0から4までのカウントを表示します。
ジャンプ文
ジャンプ文は、ビデオゲームの秘密通路のように、コードの一部をスキップしたり、ループを早期に終了したりすることができます。
'break' 文
'break'は、ループを今すぐ終了することができます:
for i in range(10):
if i == 5:
print("5が見つかりました!ループを終了します。")
break
print(i)
これは、0から4までの数字を表示し、5が見つかったらループを終了します。
'continue' 文
'continue'は、現在の反復の残りをスキップし、次の反復に移動します:
for i in range(5):
if i == 2:
print("2をスキップ")
continue
print(i)
これは、0から4までのすべての数字を表示しますが、2は表示しません。
'pass' 文
'pass'は、プレースホルダーのように機能します。何もしませんが、空のコードブロックが必要な場合に便利です:
for i in range(5):
if i == 2:
pass # 2に対する特別な処理を追加する TODO
else:
print(i)
これは、2以外のすべての数字を表示し、2の場合は何もしません(今のところ)。
まとめ
それでは、これらの概念を一緒に組み合わせて、ちょっとしたゲームを作りましょう:
import random
secret_number = random.randint(1, 10)
attempts = 0
while True:
guess = int(input("数を当ててください(1-10): "))
attempts += 1
if guess < secret_number:
print("低すぎます!")
elif guess > secret_number:
print("高すぎます!")
else:
print(f"{attempts}回で当てました!")
break
if attempts == 3:
print(f"残念、試行回数が終わりました。数は{secret_number}でした。")
break
このゲームは、whileループ、if-elif-else文、そしてbreak文を使用して数当てゲームを作成します。これは、制御フローがインタラクティブなプログラムを作成するための素晴らしい例です!
まとめ
以下は、私たちがカバーした制御フロー文の簡易リファレンス表です:
文 | 目的 |
---|---|
if | 条件に基づいて決定を行う |
if-else | 2つのオプションの間で選択する |
if-elif-else | 複数のオプションの間で選択する |
for | 指定された回数だけコードを繰り返す |
while | 条件が真の間、コードを繰り返す |
break | ループを早期に終了する |
continue | ループの次の反復に進む |
pass | 何もしない(プレースホルダー) |
覚えておきましょう、制御フローをマスターすることは、シンプルな指示から複雑で美しいプログラムを作成するためのオーケストラを指揮するようなものです。練習を続けることで、すぐにPythonの交響曲を書けるようになるでしょう!
Credits: Image by storyset