Pythonで「繰り返す」プログラムを作ろう!for文・while文・break・continue(情報Ⅰプログラミング③)

Pythonでインフォマティクス

繰り返しの処理ってなに?
⇒繰り返しとは、同じ処理を何回も行うことです!




1. for文:決まった回数の繰り返し

果物の名前が書かれたリストがあって、すべての名前の後に文章をつなげてみます。

果物の名前+を買います

items = ["バナナ", "りんご", "みかん"]
print(items[0]+"を買います")
print(items[1]+"を買います")
print(items[2]+"を買います")
#実行結果
#バナナを買います
#りんごを買います
#みかんを買います

3つ程度であれば、コードをかいてもそんなに大変ではないですが、、これが10個、100個となると、、とても手間のかかる作業です💦

このような同じ、繰り返しの作業をするのがfor文です!

📌 Pythonの基本的なfor文の書き方

for 要素 in コレクション: # コレクションの中身を1つずつ取り出して、要素として受け取る
    処理  # 取り出した要素に対して、繰り返し実行したい処理

・コレクション:リスト・タプル・文字列など、複数のデータが入ったもの
・要素:コレクションから1つずつ取り出される値(変数として受け取る)

上記の果物の名前が書かれたリスト(items)をつかって、名前の後に文章をつなげる作業を、for文でやってみます!

for item in items:  # itemsから名前を1つずつ取り出して、itemとして受け取る
    print(item + "を買います")
#実行結果
#バナナを買います
#りんごを買います
#みかんを買います

コードがすっきりしましたね!

📌 Pythonの基本的なfor文の書き方:range()編

for i in range(開始値, 終了値): # 開始値から終了値の1つ手前までの数を順に取り出す
    処理  # i の値に応じて繰り返し実行される処理

たとえば、1〜5回目までの処理を繰り返したい場合は、次のように書きます。

for i in range(1, 6):
    print(f"{i} 回目")
# 実行結果
# 1 回目
# 2 回目
# 3 回目
# 4 回目
# 5 回目

💡 range() は「終了値の1つ手前」までを繰り返すという点に注意!

📌 省略形:range(終了値)

range() は、開始値を省略すると0からスタートになります。
たとえば range(5)と書くと、0~4の5回分が繰り返されます。

for i in range(5):
    print(i)
# 実行結果
# 0
# 1
# 2
# 3
# 4

0から始まるという点が少しややこしいですが、Pythonではよく使われる書き方なので覚えておくと便利です!

要点💡
・for item in items ⇒ リストなどの中身を1つずつ取り出して使いたいときに使う
・for i in range(…)  ⇒ 回数を指定して繰り返したいときや番号を使いたいときに使う

2. while文:条件が続く限り繰り返す

ゲームなどでヒットポイント(HP)が0になるまで続くといったように、条件が成り立っているあいだ繰り返す処理に使われるのが while文 です!

📌 Pythonの基本的なwhile文の書き方

while 条件式:   # 条件式がTrueのあいだ、処理を繰り返す 
    処理   # 条件が成り立っている限り実行される

たとえば、HPが10から始まり、2ずつ減り、0以下になったら「ゲームオーバー」と表示する処理を考えてみましょう。

hp = 10 
while hp > 0:
    print(f"HP: {hp}") 
    hp -= 2   # HPが2ずつ減る
print("ゲームオーバー")
# 実行結果
# HP: 10
# HP: 8
# HP: 6
# HP: 4
# HP: 2
# ゲームオーバー

このコードでは、hp > 0 のあいだ、処理が繰り返されます。 HPが0以下になると while の条件がFalseになり、繰り返しが終わります。

💡 while文では、繰り返しを止める条件(=Falseになる条件)をうまく設定することが大切です!

3. break:条件を満たしたら途中で抜ける

繰り返しの中で、ある条件になったら、そこで終了したい、そんなときには break を使います!

📌 Pythonの基本的な break の使い方

for 要素 in コレクション: 
    if 条件: 
        break     # 条件を満たしたら繰り返しを中断 
    処理     # 条件を満たさない場合はこの処理を行う

💡 breakは、for文あるいはwhile文の繰り返し構文とセットで使用されます!

たとえば、正解が出たらゲームを終了するような処理を考えてみましょう。

answers = ["いぬ", "ねこ", "さる"]
for animal in answers:
    if animal == "ねこ":
        print("正解!") 
        break 
    print(f"はずれ:{animal}")
# 実行結果 
# はずれ:いぬ 
# 正解!

このコードでは、animal == “ねこ” という条件に当てはまったときに break が実行され、そこで for文の繰り返しが終了します。

ねこが見つかると正解として終了するので、それ以降のさるは確認されません!

💡 breakは、繰り返しを途中でやめたいときにとても便利です。 ゲームやクイズ、データ探索など、さまざまな場面で使われます!

4. continue:一部だけスキップする

繰り返し処理の中で、この条件だけスキップしたい、そういうときは continue を使います。

💡 continueも、for文あるいはwhile文の繰り返し構文とセットで使用されます!

たとえば、1〜5までの数字を表示する処理で、3だけはスキップしたいといった場合、次のように書くことができます。

for i in range(1, 6):
    if i == 3: 
    continue    # 3のときだけ下の処理をスキップ 
print(i)
# 実行結果 
# 1 
# 2 
# 4 
# 5

💡 continueその時の処理だけスキップして、次の繰り返しに進むためのキーワードです。
ループ全体を止めるわけではないので、必要な条件だけ外したいときに便利ですね!

5. ユーザー入力で繰り返し:数当てゲーム

ここまでで学んだ繰り返し(for / while)途中で抜ける(break)を使って、
ちょっとした数当てゲームを作ってみましょう🎮!

Python では input() を使うと、ユーザーからキーボード入力を受け取ることができます。
その入力を使って、正解の数字を当てるまで繰り返すゲームを作ってみます!

answer = 7 
while True: # 無限ループ 
    guess = int(input("数を入力:")) # ユーザーからの入力を数値として受け取る 
    if guess == answer: 
        print("正解!") 
        break # 正解ならループを終了 
    else: 
        print("ざんねん")

※コードを実行しますと、上記のように□に数を入力するところがありますので、好きな数字を入力してみましょう!

💡このプログラムでは…
while True: によって、永遠に繰り返す処理を作ります(※break で途中終了)
input() でユーザーから数値を受け取り、int() で整数に変換
入力が正解(7)なら「正解!」と表示して break で終了
間違っていたら「ざんねん」と表示してもう一度入力を促します

# 実行例: 
# 数を入力:3 
# ざんねん 
# 数を入力:5 
# ざんねん 
# 数を入力:7 
# 正解!

🔁 無限ループ + break + 入力 を組み合わせることで、
ユーザーとやりとりするプログラムが作れるようになります!
クイズ・占い・対話型アプリなどにも応用されています!

6. まとめ:繰り返しのパターンを使いこなそう

Pythonの繰り返し処理には、for文、while文、break、continueなど、さまざまなパターンがあります。
どれも目的に応じて使い分けることで、コードが短く・わかりやすくなります!

リストの中身を順に処理したいfor文
条件が続く間は繰り返したいwhile文
条件を満たしたら終了したいfor文 / while文 break
一部だけ処理をスキップしたいfor文 / while文 continue

💡 同じことを何度も書かないのがプログラミングの魅力のひとつです。

本サイトは、使える「情報Ⅰ」を目指し、情報Ⅰの内容を毎週月曜日に新しい記事を発信予定です。
また、プログラミングの使い方は毎月2回(第2、4木曜日)配信予定です。

Pythonで「判断できる」プログラムを作ろう!条件分岐, if文(情報Ⅰプログラミング②)
Pythonで「判断できる」プログラムを作ろう!!判断できる、、たとえば、「80点以上なら合格」「IDとパスワードが正しいならログインを許可」など、“もし~なら” という判断を、どうやってしているのでしょうか??「ある条件のときに、特定の動...
Pythonの始め方と使い方 (インストール不要のGoogle Colaboratory)(情報Ⅰプログラミング①)
プログラミング言語のPythonはシンプルな文法で書けるため、様々な領域で使われ、多くの研究者やエンジニア、学生など幅広く利用されています。高校情報Ⅰでは、情報社会の問題解決、コミュニケーションと情報デザイン、コンピュータ、情報通信ネットワ...
高校情報Ⅰと実践活用
高校情報Ⅰとプログラミングを含めた実践活用に関する記事を発信していきます。高校情報Ⅰの範囲を、毎週1記事、全6か月で進めていきます。高校情報Ⅰのプログラミング(Python中心)も、使い方やコード例を含めた記事を毎月2つアップ予定です♬📢情...
本記事に対し、お気づきの点ございましたらお問い合わせよりご連絡頂けますと幸いです。



コメント

タイトルとURLをコピーしました