見出し画像

無償のプログラミング入門講座CS50xをやってみる Week6

全体(6.5h)

利用する言語がC言語と比べると親しみのあるPythonに切り替わったので、比較的早く課題を進めることができました。日曜、月曜でレクチャー動画をみて、火~木曜日で課題を解いた感じです。ローレベルなことを意識しないでいいのでプログラムを書くのが本当に楽に楽しくなりました。もちろん学習目的ではハッシュテーブルを実装したりするのもいいですが、課題解決にはPythonの方が圧倒的に楽ですね。(慣れもあるかもしれないですが)

レクチャー動画(2.75h)

動画はどんどん長くなりますが、比較的慣れているPythonのレクチャー動画だったのでそれほど長く感じませんでした。

メモリの確保や解放をしなくてよかったり、ファイルの読み込みにファイルの形式をローレベルで意識しないでいいというのはやはり強力ですね。

あと、これも強力な機能だなぁ。

x, y = y, x

Lab6 World Cup(0.5)

ワールドカップの結果をシュミレートする問題。ほとんどのコードは提供されるので14行追加すればOKでした。ローレベルなことを気にしなくていい代わりにライブラリ関数の使い方を調べる必要があるので、Python Documentはまじでお友達にならないと駄目っぽいですね。

Problem set 6 - mario(0.5h)

一度C言語で書いたプログラムをPythonで書き直す問題、もちろんやり方は流用できるうえ、かなり短く簡潔に書けるのでPython最高やでとなる。

Problem set 6 - credit(1h)

正規表現で判定できるのは楽、ちょっと拘り過ぎて時間がかかった。更に文字列の数字をintにキャストしたときに見たままの値になる(C言語の場合”1”をintにキャストすると49になるので)っていうのはいい。わかりやすい。おかげで交互に数字をとりたいときには文字列で取って、計算はintにキャストしてからするとか簡単にできる。

Problem set 6 - Readability(0.25h)

Creditはやり方をPythonっぽく変えた箇所があったので時間がかかったんですが、こちらはC言語で書いたプログラムとやり方を全く一緒にしたのでサッとかけました。「f String」はあまり使ったことがなかったのであえて使ってみました。

Problem set 6 - DNA(1.5h)

DNAの繰り返しパターンの長さから人を鑑定する問題。提示されるDNAの配列で最も回数の多かった繰り返しを返すところを、パターンが何回出現するかだと勘違いして30分ほど無駄にしました。ただ、最も多かった繰り返し回数を返すコードは一発で書けたので良かったです。(いつも何かしら間違えてデバックしながら直していくスタイルなので)

スコア

画像1

先週分


この記事が気に入ったらサポートをしてみませんか?