前回の記事
先日は、Python導入について触れました。今回は基礎の部分について、追っていきます。
コンピューターが得意なこと
- 膨大な数の計算を素早く行う
- 大量にある情報を記憶する
- 同じ事を何度も繰り返して行う
これらをどう実現してるのか?
- 入力
- 出力
- 計算
- 繰り返し
- 条件分岐
コンピューターが苦手なこと
- アイデアを生み出す
- 情報を応用して別のものをクリエイトする
例:生まれた年(西暦)を入れて自分の干支を出力する場合はこんなかんじ
- 入力:生まれた年を入力
- 計算:生まれた年をもとに干支を特定する計算
- 計算:計算結果がAの場合はBという干支の文字に変換する
- 出力:干支を表示
→この一連の組み合わせた手順のことを「アルゴリズム」という
西暦(数値)から干支(文字)を求める
「文字に0から番号を割り当てて、番号で文字を取り出す」
→干支の12文字それぞれに0から11までの番号を割り当てる。
すると、1996、2008、2020などの数値が入力されたときに0という順番を計算。
順番から対応する文字を求める
0番目
↓
子丑寅卯辰巳午未申酉戌亥
↓
子
数値から順番を求める
西暦→0~11の順番
(数値を12で割った余りを計算すれば0~11を繰り返す数値が求められる)
2008を12で割った余り:4(割り切れない)
2008に8を足してから12で割った余り:4(割り切れる)
アルゴリズムを図で表す
- プログラム開始
- 生まれた年を入力する
- 干支の順番を計算する *1
- 干支の文字の集まりを用意する *2
- 指定した順番の文字を取り出して表示 *3
- プログラム終了
*1:西暦に8を足して12で割った余りを求める
*2:子丑寅卯辰巳午未申酉戌亥
*3:0ならば子、1ならば丑、11ならば亥
演算子と数値について
1 + 2
という足し算があったら、四則演算などに当たる部分が演算子で、数字の部分は数値(値)
※PEP8という規格があり、スペースは1つずつ入れること。
Pythonの主な演算子と実行例
a + b | 足し算 | 1+2 → 3 |
a – b | 引き算 | 3+1 → 4 |
a * b | 掛け算 | 2 * 7→ 14 |
a / b | 割り算 | 17/4 → 4.25 |
a // b | 割り算(小数点切り捨て) | 17/4 → 4 |
a % b | aをbで割った余り | 1 |
a ** b | aのb乗 | 2 ** 3 → 8 |
演算子には優先順位がある
- カッコ書きした式 例:(1 +2)など
- * / // % **
- + –
ここで、実際の計算式をコマンドプロンプトで動かして試してみると段々と実感がわいてくるはず。