Study Blog

自分の興味関心が向いたものを、好きな時好きなだけ気分で勉強したことを記すブログ

Pythonコーディング練習 : 2日目

Pythonコーディング練習 : 2日目
Practice Python Exercise2 ~ 8
勉強時間 : 30分×6 = 3時間

前回の記事melostark.hatenablog.com

で出てきたPractice Pythonの1-8をやりました。
www.practicepython.org

この問題集自体は初心者向けにちょうどいい難易度な気がします。
文法を一通りやったが、完全に文法が身になってない人がこれをやると、
調べながら文法を復習し、自分で構造を考えながら組み立てて書く練習になると思います。

いろんな解法・書き方があるので、自分の書いたコードが動けばまずはそれで正解としていいと思います。
回答のコメント欄でいろんな書き方をされているので、初めて見る文法があれば都度調べて真似してみるとまた勉強になります。

文法を学んだが、いざ書いてみてといわれると書けないような方はやってみるといいと思います。

Pythonコーディング練習 : 1日目

Pythonコーディング練習 : 1日目
Practice Python Exercise1
勉強時間 : 30分×2 = 1時間

普段仕事でPythonもしくはC/C++を用いて簡単な「制御・組み込みプログラム」を作ったり、センシングや実験装置を構築・実験解析等をしたりしています。
ただし、これらで作成したものは社外に出ないため、人様に見せられるようなきれいなコードではありません。。。
なので、一般的にきれいでわかりやすいモノを書けるように個人的に勉強しようということで、まずはPythonからやっていこうかなと思います。
(Pythonが人気でネットで調べると死ぬほど同じことで困っている人がいるから調査がとてもしやすいから)

「効果的なコーディング練習問題の解かせ方
qiita.com

そんな中、上記記事を見つけました。(僕のための記事でした)
とりあえず上から言われたとおりにやってみるということで、
Practice Pythonwww.practicepython.org
をやっていきます。

AtCoder:5日目 APG4b

AtCoder:5日目 APG4b
APG4b 1章~3章:軽く復習
勉強時間:30分×5 = 2時間30分
合計勉強時間:12時間30分

4章は補足の章だったようなので、飛ばすことにして今までやった分を軽く流し見しながら復習しました。
もう後はわからないところは逐一ネットで調べながら問題を解いて慣れるというながーーい旅になるのかな。
やっと「スタートラインに立つ前」の「準備運動が始まった」くらいの感覚です。

とりあえずのこれからの競プロの目標は
「週に1問問題に挑戦する」
ということで、趣味としてほのぼのとやっていきます。

AtCoder:3日目 APG4b

AtCoder:3日目
APG4b 2.04 - 2.06
勉強時間 : 30分×4 = 2時間
合計勉強時間 : 7時間

自分の中で苦手、理解が不十分な項目にたどり着いたのでじっくりやっていきたいと思います。
参照や再帰関数は経験上使い慣れないと理解が進まないと思う部分で、これに関してはひたすら問題を解いて体に染みつける以外に方法はないと思います。

完全に理解してから問題を解いたり、理解するまで問題に手を付けなかったりするのは個人的に悪手で、
1.一通り教科書や説明部分を読んだらとりあえず問題を解こうとしてみる。
2.その後。答えを見ながら再度理解する。
3.1と2の繰り返し

これをして説明の理解と説き方考え方を体と頭に叩き込む以外に方法はない。
地道にやっていきます。

AtCoder:2日目 APG4b

AtCoder:2日目
APG4b 2.00 - 2.03
勉強時間 : 30分×4 = 2時間
合計勉強時間 : 5時間

2.00.第2章について
2.01.ループの書き方と範囲for文
2.02.多重ループ
2.03.多次元配列

GW最終日でしたが、緊急事態宣言真っ只中でどこも何もやっていないため、一日中家にいるような日でした。
昼ご飯を食べた後、すんごく眠くなる事が今日もあって13時から16時くらいまで寝てしまったのが悔やまれる。。。
これって、ご飯を食べた後血糖値が急上昇した後急降下する「血糖値スパイク」とかいうことが原因といわれているようですね。

諸説ありますが、「野菜を先に」食べた後におかずや白米を食べたり、
納豆、オクラなど「ねばねばしたもの」や、油やお酢を取り入れることで
糖の吸収を遅くするとスパイクが起こりにくくなって食後に眠くなりにくいみたいですね。
あとは、後々の糖尿病や認知症にも効いてくるとかなんとか。

こういった実験を行うのが難しい事象に対していろんな憶測や噂が流れてきますが、
何でもかんでもうのみにせず、とりあえず試してみて効果があったら続ける等、自分で判断することが大切ですよね。

とりあえず僕もいろいろ試してそんな感じがするなーと思えば、昼飯は野菜から食べたり、納豆食ったりしようかなと思います。
ガチ勢は論文探すのがいいですね。
ちょっと調べるとJ-stageに下記論文がありました。
「健常成人が感じる昼間の眠気とその対応について 久保田 富夫 埼玉県立大学 保健医療福祉学部 作業療法学科」
ただ、最近J-stageで論文全然見れないんですよね。サーバーがいってるのかな?
早く治ってほしいものです。。。

今日は休みだったのに勉強時間が少なくなってしまいましたが、スロースタートで体を慣らすようにマイペースでやっていきます。

AtCoder:1日目 APG4b

AtCoder:1日目
APG4b 1.00 - 1.15
勉強時間 : 30分×6 = 3時間

1.00.はじめに
1.01.出力とコメント
1.02.プログラムの書き方とエラー
1.03.四則演算と優先順位
1.04.変数と型
1.05.実行順序と入力
1.06.if文・比較演算子・論理演算子
1.07.条件式の結果とbool型
1.08.変数のスコープ
1.09.複合代入演算子
1.10.while文
1.11.for文・break・continue
1.12.文字列と文字
1.13.配列
1.14.STLの関数
1.15.関数

競技プログラミングというものがあると知ってちょっと挑戦してみることにしてみました!
どの程度までやるかは、例によってやる気と根気とその他諸々によります。

プログラミングの実力・経験
「大学-大学院-社会人」の時に必要に応じて調べては適当にコードを書いていた程度。

  • 100行前後
  • 関数化と呼び出しは少しだけ

競プロで身に着けたいこと

  1. プログラミング的思考(コーディング方法)を定着させる
  2. アルゴリズムを考える経験を積む

まずは基本からということで、C++は大学時代に授業で習ってから触っていなかったため、文法、関数、ポインタ...etcの復習から始めるということで、「AtCoder Programming Guide for beginners (APG4b)」を最初からやっていきます。

「APG4b」が終わったら「AtCoder Beginners Selection(ABS)」に進みます。