気づいたことをメモする場所
2018/10/23
関数とかメソッドをつかわず、複合文を駆使してやりたい処理を表現するのは
冷蔵庫の中のものと家にある調理器具でごはん作る感がある。
2018/10/22
プログラミングスキルって問題解決のための道具だと思うんだが、プログラミングのなかにも道具が出てきて、その道具を使いこなすためにまた数学とかの知識が道具としてあると便利で……
とすごいメタメタ。
バブルソート、なんで前から入れ替えるのと、後ろから入れ替えてくパターンがあるんだろ?なんか違うのかな?
2018/10/20
こういう関数があれば問題が解けるはず、とほしい関数にあたりをつけて早く探せるようになった。
2018/10/19
今日はintオブジェクトはイテラブルではないっていうエラーを読んで、じゃあどう対策するかというのが考えられたので成長できてるって思った。
intはイテラブルじゃないけど、strはイテラブルだから型変換すればforで回せるよねってなった。
2018/10/18
記事タイトルに < :を入れたらダメな様子。
2018/10/17
キーボードとか自分じゃない何かから入力or渡された値を何かしら処理したいって時ってどうするんだろう? とぼんやり考えてたんだが、関数使うんじゃまいか? 引数で渡せばいいんだわ。ってなった。
2018/10/16
- 毎回思うくせに忘れがちだけど、コードを書くときはまずTODO書き出すの大事
- return とか breakでプログラムの流れを自分で制御できることがわかってから、どう自分が想像しうるコードを書いたらいいか。考えやすくなった。
気づいたことメモ
「初めてのPython」を読み終えたあと、とりあえず思いつくものをコードにしてみようと思った。
しかし、いったいまず何から手をつけたらいいの? となり、アルゴリズムの勉強が足りないのでは? と思ったのでPy.CheckiOをやっている。
Pythonのビルトイン関数とか、オブジェクトのメソッドはどんなのがあるのか学びつつ、問題を解いていくのが面白い。
どうやって数独やピクロスを解くか考えているときと頭の動作の仕方が似ている。(数独やピクロスは解くための道具の種類が多くないだけな感じ。)
出された問題の答えを出す、と捉えるより「こういう場合はどう問題を”解決するか”」と捉えると、うまく言えないけど感覚が違う。多分、答えは一つじゃなくて、色々なアプローチがあるよって思えるんじゃないかしら。
どういう頭の使い方をして目の前の問題をいなすかというのと、たくさん関数やメソッドやモジュールの種類や名前を知っているのとはまた別の話なんだな、と思った。
何かアプリケーションやらを作るというのは、ベーシックな道具とその使い方を組み合わせた結果出来上がるもので、それらを知っていると「あれとあれを組み合わせればできるよね」ってなるんだと思う。今は扱える道具の種類を増やしている感じかと。
Pythonはたくさんモジュールがあったり関数があったりで1から道具を作らなきゃいけないということは簡単なことをやっている限りほぼない。だからその便利な道具がどんなことを助けてくれるのかをじっくり知るのは大事なんじゃないだろうか。
私がforで回して複数行書くようなコードを一行で書いているテクニカルなものってのは、多分一見何に使うかわかんないけど実は超スタイリッシュな栓抜きだった。って感じなんかな。
私の書いているコードはおそらく「知っているそれ、めっちゃおばあちゃん家にあったわ」っていう栓抜き。
栓抜きに例えたことに特に理由はない。爪切りでもいい。
2018/10/14
- ちまちま問題解いてて、これで自分は進んでるのかと不安だったけど、こう書けばこういう結果にできるんじゃね?って思いつけるようになってきたので、進んでる気がする!
- プログラムってこういうパーツ?の組み合わせでできてるんじゃないかと思った。のでこういうちんまい理解大事かも。