ノンプログラマーのための「建築で理解するPython入門」の基礎編9回目です。
今回はPyCharmを使いながら条件に従ってPythonで部屋を作ってみようと思います。
この記事で理解できることは次のとおりです。
if 条件式:
処理の内容1
else:
処理の内容2
panna(パンナ)| 建築デジタルの専門家
大学・大学院で建築学を専攻し、修了後は設計事務所へ入所。現在はBIMの仕事をしています。
建築デジタル歴は10年以上。Rhino+GrasshopperとPythonを大学生時代から使い始め、2017年からAutodesk RevitでBIM推進開始。
パソコンを使って副業をしています。これまでに購入したパソコンは8台になりました。
Pythonのif文を理解する:条件に従って部屋を作ろう
今回はif文と呼ばれる便利な構文を説明します。if文とは、「与えられた条件によって処理の内容を変える」ことができます。
かんたんに言い換えると、「条件にマッチしていたら○○を行い、マッチしていなかったら△△を行う」という命令を出すことができます。
マッチしているかどうかは「真偽」つまり、「TrueもしくはFalse」で判定します。真偽についてはデータ型の説明で出てきたbool型のデータになります。
- 条件式が真なのか偽なのかによって、その後の処理を変えることができる
- 「条件にあっていれば○○し、あっていなければ△△する」という分岐を作るイメージ
Pythonでif文はどうやって書くか理解しよう
次のように書きます。
if 条件式:
○○という処理を行う
else:
△△という処理を行う
「もし条件式に合っていたら、○○という処理を行う
その他の場合、△△という処理を行う」という意味を持ちます。
初めてみた方は難しく感じるかもしれませんが、コードを書いてみると直感的でわかりやすいと思います。
if文を使って条件に従って部屋を作る
今回は、Pythonと会話してその結果をもとに部屋を作ってもらいます。
プログラム作成の前に「フローチャート」を使ってプログラムの処理を説明します。
フローチャートで作りたいプログラムを整理してみる
こちらがフローチャートです。処理を開始してから終了するまでのプログラムの処理内容を図示したものです。
今回作るプログラムのフローチャートを文字で表すと次のようになります。文字にすると長いですね…
フローチャートは文字にすると長い!
- プログラムを実行する
- 処理を開始する
- Pythonコンソールが部屋の数を入力するようにメッセージを出力
- 分岐1:「入力した数が0よりも大きい」という条件式がTrue
- 入力した部屋の数を出力
- 分岐2:「入力した数が0よりも大きい」という条件式がFalse
- 部屋を作らないというメッセージを出力
- 処理を終了する
プログラムが長くなればなるほど、視覚的に理解しやすいフローチャートの効果を実感できます。作りたいものの整理にもなるので手法として覚えておきましょう。
if文を使ってプログラムを書いてみる
先程のフローチャートに沿ってコードを書いてみます。int()はかっこの中身をint型のデータに変更します。条件式の中で0と比較するために使っています。
# input関数を使ってコンソール上でユーザーからの入力を求めて変数に代入する
room_number = input()
# if文を使って入力値の判定を行う
if int(room_number)>0: # 条件式「変数room_numberが0よりも大きい」かどうか
print(room_number) # 条件式がTrueの場合、変数room_numberを表示する
else: #その他の場合という意味(ここでは条件式がTrueでない場合)
print("入力した数字は0以下")
実行すると次の様に出力されます。
おめでとうございます!
Pythonのif文を使って条件によって処理を変えるプログラムを作成できました。
ちょっと味気ないので会話してる感じにしてみる
もうちょっと気さくなPythonさんと会話して部屋を作ってもらいましょう。笑
# Pythonコンソールが入力を求める
print("部屋をいくつ作りますか?")
# input関数を使ってコンソール上でユーザーからの入力を求めて変数に代入する
room_number = input()
# if文を使って入力値の判定を行う
if int(room_number)>0: # 条件式「変数room_numberが0よりも大きい」かどうか
print("あなたのために部屋を" + room_number + "部屋作りました!") # 条件式がTrueの場合に実行
else: #その他の場合という意味(ここでは条件式がTrueでない場合)
print("今回は部屋を作りませんでした!")
先ほどよりは愛想がいいですよね。笑
「Pythonのif文を理解する」のまとめ
今回は次の事を説明しました。
- フローチャートを使ってプログラムの処理を整理する
- if文:条件式によって処理を変えるプログラムを作成する方法
- input()でユーザーからの入力を求める
「【独学】建築設計でかんたんPython入門!」シリーズのほかの記事はこちらからどうぞ。
コメント