(教材)09【Python:条件分岐】
プログラムの重要な要素,条件分岐について学ぶ.
■1 if の文法
プログラミングのきわめて重要な要素の1つが「分岐」である.
手続き型プログラミング言語はすべて,分岐機能である if文 を持っている.
Pythonのif文について学ぼう.
1. 上の記事を読み,サンプルを実際に入力しなさい.
if / elif / else行の最後に「:」コロンを忘れないこと.
Unixエディタを使ってプログラムとして作成すること.
ファイル名は自由.例:「work5-if-01.py」 など
2. サンプルプログラムの変数:value,value_1,value_2 の値を変更して,結果がどう変わるかを確認しなさい.
整数を変えるだけでなく,数値の代わりに文字列だとどうなる?
大きな桁の数字では?
小数では?などなど.
3. input()関数を使ってキーボードから入力するように工夫しなさい.
Hint: eval()も使おう
■2 インデントする範囲が「ブロック」
if文の説明にも出てくるが,if/elif/else文,for/while文,def文などは,その文の有効範囲が広く,また入れ子構造になることが多い.
※forやwhileは第6回に登場する
ifやforがかかる範囲がどこからどこまでか.この範囲を「処理ブロック」と呼ぶ.
ブロックの有効範囲を決めるのが,Pythonでは「インデント (字下げ) 」である.
1. 上の記事を読み,サンプル (Fibonacci数列) を入力して確認しなさい.
2. つぎに,サンプルプログラムの最後の1行のインデントをなくして実行したら どうなるかを確かめなさい.つまり,次のようになる.
code:インデントをなくす部分
a,b=0,1
a,b=b,a+b #◀◀ ★ここはインデントなし ※プログラムが止まらなくなるので,Ctrl+Cで停止する.
3. さらに全部の行のインデントをなくしたらどうなるだろうか?確認しなさい.
■3 条件式 (比較演算子)
if文をはじめ,次回学習するfor文while文などには条件式が必要である.
この条件式には多くの場合,比較とその組み合わせの論理式が伴う.
それには比較演算子と論理演算子を使う.
比較演算子とブール演算子を以下に抜き出す.※前節の演算子の項を参照.
https://gyazo.com/d787092cce067eaaee0fb32a8a0acf38https://gyazo.com/0fcbc75b915db3d19af9e74582ebf7ed
ブール演算子は,"and" (論理積) ,"or" (論理和) ,"not" (否定) の3つのみ.
条件式は,「比較式を論理式で組み合わせる」ことが多い.
※複数の条件をand/orで組み合わせるには慣れが必要.
▶▶ 本実習では複雑な条件は使わない.以降のカリキュラムで身につけよう.
以上.
2023/7/4