見出し画像

でも、いいよねPython

どうしても頭の中で1回ファイソンと言ってしまいます。
もういっそファイソンと呼んでしまえばいいのでは?と思う今日この頃。
こんにちは。サキナオコです。
晴れて気温が丁度いいです。

今日はアルゴリズムの章でした。

面接でよく聞かれる問題であるという
Fizz Buzz
1~100までの数字を出力するプログラム
3の倍数のときは数字の代わりにFizzと出力
5の倍数の時は数字の代わりにBuzzと出力
3,5の倍数のときはFizz Buzzと出力する

のプログラムを写しました。
道理はわかりました。

その他探索アルゴリズム、線形検索、回文、アナグラムの
プログラムを写しました。

そして、どうやら終了条件を間違えたり、
関数を呼び出す回数が増えると
恐ろしい事になるらしい再帰法。

できればそういうのは避けたいところですが、きっと
そうもいかないのでしょう。

とにかく、ばばばばーっと学習というより写して終了です。
いいんです。これでね。
なぜならパイソンツアーですからね。

で、練習問題です。
LeetCode.comで問題を3つ解きましょう
との問題でした。

アカウントを作りましたが、英語サイトで
どうしていいやらさっぱりわかりません。
手探りでいろいろ探してみると
確かに簡単な問題から難しい問題までありました。

最高に簡単な問題に挑戦しようとしましたが、
ショックを受ける程、わかりません。

途方に暮れていると、Fizz Buzz問題があるではないですか!
早速、テキストのプログラムを見ながら書いて(写して)みました。

ちょいちょいエラーがあり、直しては実行し、
無事表示された!と思いきや、
何かのエラーが発生しているもようです。

完全に予想ですが、この問題を解くのにあたり、
使わなければいけない何かを使っていなかったのでは、と思います。
解答もテキストのとは違っていました。

…うん…まあいいや。
いつかちゃんと書けるようになったら、有効活用したいと思います!

それはさておき、今日の感動。
文字列の中に、どの文字が何個あるかを数えるプログラムもありましたが、
collections.Counterを使うと10行あるプログラムが2行で完了しました!

これにはビックリ!すごい!@o@!!
先日も書きましたが、要素の集まり(コレクション)を扱うアルゴリズムがPythonの組み込みモジュールcollectionsで提供されているらしいです。

できあいの人気のオカズみたいなものでしょうか?
1からオカズを作らずとも
それを食卓へ並べるだけで立派な夕食が完成!みたいな?

違ったらすみません。
私はそんなイメージをもちました。
やっぱりこれは楽ができそうですね!!=^^=

そんなこんなでテキストは残り3mm程になりました。
プログラミングができるようにはなってないですが、
プログラミングの格好や書き方や、エラーになったらどうするか、
というものに慣れた気がします。

もうすぐテキスト卒業です!



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