【独学】while文の使い方!条件に従って繰り返し部屋を作ろう

ノンプログラマーのための「建築で理解するPython入門」の基礎編11回目です。今回はPyCharmを使いながらwhile文を使って繰り返し処理を行う方法を説明します。

この記事で理解できることは次のとおりです。

while文の基本的な使い方

while 条件式:
処理の内容

この記事を書いた人

panna(パンナ)| 建築デジタルの専門家

大学院で建築学を専攻し、修了後は設計事務所へ入所。現在はBIMの仕事をしています。
建築デジタル歴は10年以上。Rhino+GrasshopperとPythonを学生時代から使い始め、2017年からAutodesk RevitでBIM推進開始。

この記事のコンテンツ

Pythonのwhile文を理解する:条件に従って繰り返し部屋を作ろう

今回はwhile文を説明します。while文とは、条件に従って繰り返し処理を行いたいときに使う構文です。

while文がどんなものかざっくりまとめると
  • 与えられた条件がTrueの場合、繰り返し処理を行う
  • 与えられた条件がFalseにならなければずっと繰り返し処理を行う

Pythonでwhile文はどうやって書くか理解しよう

次のように書きます。

while文の書き方イメージ
  • while 条件式:
      処理の内容

whileのあとに、if文の時に書いたような条件式を書きます。その条件式がTrueであれば処理の内容を実行します。

処理の内容の前にはインデント(文字下げ)が入ります。タブキーで問題ないですが、半角スペース2つ分を入れる方もいます。このサイト内の記事ではインデントはタブキー1つ分としています。

while文についても実際のコードを見ながらのほうが理解が深まります。一つ一つ確認しましょう!

while文を使って条件に従って繰り返し部屋を作る

まずは基本的なwhile文の使い方を理解します。

# 必要な部屋の数を指定する
room_number = 5
# 変数iに1を代入する。変数iはwhile文の中で使う
i = 1
# i=1から始まって1ずつ増加させていき、指定したroom_number以下の場合は処理を続ける
while room_number >= i:
  print(str(i) + "つ目の部屋を作りました。")
  i += 1 # i=i+1と同じ意味で、繰り返す処理の最後で変数iを1ずつ増加させてまた条件式に戻る

このコードを一文で表すと、「初期値1の変数iがroom_numberよりも大きくなるまで、【print関数の実行と変数iを1ずつ増加するとう処理】を繰り返す」となります。

変数iがroom_numberよりも小さければ変数iに1ずつ足していって、越えたら繰り返ししないって感じですね。

while文のちょっと怖い話

while文は「与えられた条件がTrueの場合、繰り返し処理を行う」とお話しましたが、条件がFalseにならなかったらどうなるでしょうか……

お察しの通り、いつまでも半永久的に繰り返し処理を続けます。

ずーっと動き続けるんです。ちょっと怖いですよね。

例えば次のコードは条件式がFalseになることが無いので繰り返し処理し続けます。

while True:
    print("aaaaaaaaa")

実行するとprint関数が半永久的に繰り返し処置し続けます。そんなときは「Ctrl + C」で処理を停止させることができます。

止まりましたね。

無限ループを知らないとびっくりしてしまうちょっと怖い話でした。

while文を使って条件に従って繰り返し部屋の情報を作る

while分の基本的な使い方を理解しました。次のステップは少しずつデータを扱う意識を持っていただくために、【ランダムな大きさの部屋のデータ】をwhile文を使って作成しましょう。

# 作りたい部屋の数を入力する
room_number = 3
# 作りたい部屋の名前を入力する
name_room = ["リビング", "ダイニング", "キッチン"]
# 作りたい部屋の面積を入力する(単位は㎡)
area_room = [20, 10, 5]
# 初期値1の変数i
i = 1
# while文で条件に沿って繰り返し処理を行う
while room_number >= i:
    print(str(i) + "つ目の部屋を作ります。")
    # list型のデータのインデックスは0から始まるのでi-1
    print("部屋の名前は" + name_room[i-1] + "です。")
    # list型のデータのインデックスは0から始まるのでi-1, name_roomはint型なのでstr()でstr型に変換
    print("部屋の面積は" + str(area_room[i-1]) + "㎡です。")
    i += 1

部屋の数・部屋の名前・部屋の面積というデータを使用してPythonで部屋を作成します。変数iをインデックスに使用してlist型のデータからデータを取り出しています。

それでは実行してみましょう。

おめでとうございます!
Pythonのwhile文を使って条件に沿って繰り返し処理を行うプログラムを作成できました。

次回はデータを結びつけて表示するだけでなく、Excelファイルに出力してみましょう。データを扱う方法について少しずつ触れていきたいと思います。

「Pythonのwhile文を理解する」のまとめ

今回は次の事を説明しました。

  • while文:与えられた条件がTrueの場合、繰り返し処理を行う
  • 無限ループに注意!「Ctrl + C」でループから抜ける

「【独学】建築設計でかんたんPython入門!」シリーズのほかの記事はこちらからどうぞ。

ためになったらシェアお願いします!

コメント

コメントする

この記事のコンテンツ