{ }codelper

Python を学ぶ

Python でプログラミングの基礎を学びます。各単元に実行できる例とほかの言語との違いがあります。

A

基礎

4 単元
  1. 01画面に出力する最初の一行:文字と計算結果を画面に表示します。
  2. 02変数と値値に名前を付けて、あとで使ったり変えたりします。
  3. 03入力を受け取るキーボード(標準入力)から文字と数を読みます。
  4. 04計算と割り算足し算・引き算・掛け算は同じですが、割り算は言語ごとに違います。
B

制御フロー

4 単元
  1. 05条件分岐条件によって違う処理をします:if・else if・else、そして switch。
  2. 06繰り返し同じことを何度も:for と while。
  3. 07繰り返しをもっと一つずつ取り出す、逆順に回る、終わりの印まで読む、必ず1回は回る do-while。
  4. 08真偽値と三項演算子真偽を変数に入れておく、二つの値から一つを選ぶ、「このどれかか」をたずねる。
C

データ

5 単元
  1. 09文字列長さ・大文字・反転・一文字取り出し。
  2. 10リストと配列複数の値を一列に:個数、最初と最後、合計、すべて変換。
  3. 111文字を扱う1文字を値として:コード、文字の計算、i 番目の文字、繰り返し。
  4. 12文字列の組み立てかけらをつないで文字列を作る、区切りを入れてつなぐ、1行に並べて表示する。
  5. 13リストの編集含むか調べる、取り除く、逆にする、入れ替える、同じ値で埋める、コピー。
D

関数

2 単元
  1. 14関数処理に名前を付けてまとめ、値を受け取って結果を返します。再帰も。
  2. 15関数をもう一歩変数のスコープ、複数の戻り値、関数を値として渡す。
E

さらに先へ

10 単元
  1. 16辞書(マップ)キーで値を探して更新する:単語を数える、あるか確かめる、キー順に回る。
  2. 17並べ替え(ソート)小さい順、大きい順、自分で決めた基準で並べる。
  3. 182次元リスト(グリッド)行と列のグリッド:読み込み、行の合計・列の合計、範囲内だけで隣のマスを見る。
  4. 19文字列の操作切り出し、検索、置換、前後の空白除去、比較、桁そろえ。
  5. 20整数と浮動小数点数0.1 + 0.2 が 0.3 にならない理由、小数の桁そろえ、丸めのルール、整数のオーバーフロー。
  6. 21再帰関数が自分自身を呼びます。基底条件、呼び出しスタックの深さ、ループとメモ化まで。
  7. 22よくある間違いとエラーメッセージエラーメッセージの読み方と、どの言語でも出る間違い:1 つずれ、= と ==、整数の割り算、null、範囲外の添字。
  8. 23絶対値・累乗・平方根符号を取る、何度も掛ける、2乗するとその数になる値を求める。
  9. 24数える・累計・グループ化一度たどりながら、条件に合うものを数え、ここまでの値を持ち歩き、キーごとにまとめます。
  10. 25レコードのリストと列挙型レコードをリストに集め、決まったいくつかの値には名前を付けます。
F

アルゴリズム

8 単元
  1. 26シミュレーションと全探索話のとおりに一歩ずつ実行し、候補を一つも飛ばさずに試します。
  2. 27スタックとキュー後から入れたものを先に出すスタック、先に入れたものを先に出すキュー。
  3. 28二分探索整列された範囲を半分ずつ捨てて、値や、条件を最初に満たす位置を見つけます。
  4. 29累積和と尺取り法区間の和を引き算1回で求め、二つの位置を前にだけ動かして区間を探します。
  5. 30最大公約数・素数・進数余りで最大公約数を求め、篩で素数をふるい分け、数を別の進数で書きます。
  6. 31貪欲法と優先度付きキューその場でいちばん良さそうなものを選び、いちばん小さい値をすぐに渡してくれるキューを使います。
  7. 32グラフと深さ優先探索誰と誰がつながっているかを書きとめ、行ける所をもれなくたどります。
  8. 33幅優先探索とトポロジカルソートキューで近い所から広げて最少の歩数を求め、先にやることが前に来るように並べます。
G

言語ごとの特徴

2 単元
  1. 37クラスとオブジェクトPython · JavaScript · TypeScript · Java · C# · C++データ(フィールド)と動作(メソッド)をひとつの型にまとめ、その型からオブジェクトをいくつも作ります。
  2. 40Python らしいコードPython内包表記、ステップ付きのスライス、アンパック、enumerate・zip、in、f 文字列、そして3つの落とし穴。