プログラミング入門I
2025.11.05
if 文 その2
if 文の中にさらに if 文を入れることが可能です.そのような状態を 入れ子と言います.
if 文の条件式に従って実際に動作させる処理の文が複数になっても構いません.そのように複数の文が入る場合にそれらをスイート(組,ホテルのスイートルームのスイート)と言います.
if 文などのようにその効力が及ぶ範囲を明確に示す必要があるのが制御構造というもので,今後登場する for 文など重要な項目があります.その際に,スイートの範囲がどこまでかを示すのに,Python ではインデント(字下げ)を使用します.他の言語ではカッコを使用したり,ブロックの終了を示す文字列を入れたりしますが,Python では区切りの記号を使用しませんので,このインデントが非常に重要です.インデントが正しくないと実行時にエラーが出ますので,注意してください.
インデントの例
if hoge:
Do this
Do that
|
上のようにスイートのインデントがそろっていない場合には,下図のようなエラーとなります.

一方で,以下のソースのような場合,各文のインデントがバラバラでもエラーとはなりません.ただし,見づらいので,決してこのような書き方を推奨はしません!
if hoge:
Do this
elif hege:
Do that
else:
Do it
|
教科書 p.70 List 3-31 で説明のある値の交換はとても便利な機能なので,この授業でも頻繁に使用することになると思います.活用してください.
教科書 p.72 の sorted 関数も便利な関数です.本来は複数の値を [ ] で囲むリストが登場したところ(教科書 p.164)で詳しく扱うものですが,今回ここで紹介されていますので,適宜使用してください.
リストとは複数の値(数値や文字列等)を一つの名前で管理できる便利なもので,通常は配列と呼ばれるものです.配列を使用できるようになると,実用的なプログラムを作成することが可能になりますが,残念ながらプログラミング入門IIの範囲です.
また,教科書 p.73 の代入演算子と代入式は今回は省略します.
他の言語では switch 文として用意されている機能とほぼ同じです.今回の授業では扱わないこととしますが,一応見ておいてください.
重要なことが網羅的にまとめてありますので,しっかりと読んでおいてください.
今回の演習問題です.
宿題が公開されるのは明日木曜日10:00の予定で,締切りは来週の月曜日11月10日の13:00です.
次回は教科書のp.90-101の範囲を学習しますので,予習をしてきてください.
また,次回はいよいよ第1回目の確認テストを行います.範囲は教科書の p.73 までです.復習をしっかりしておきましょう.