ゆよしのブログ

気まぐれに更新します。

しりとりロジックは奥が深い

どうもゆよしです。

私は現在、pythonでしりとりのプログラムを作っています。

ルール自体はみなさんも知るとおりものすごく単純なのですが、それ故に定義が難しい部分があります。

まず、しりとりのプログラム自体が単語を知っていなければ、「単語のみしか使用出来ない」ルールが成り立ちません。

よって、単語をデータベースにまとめることにしました。

次に、一度使った単語は使えないというルールを付与するために、フラグ管理をすることにしました。

そこで私が考えたプログラムは、単語データベースから使う単語を抽出し、その単語のフラグをupdate文により更新するというやり方です。

ですが、これでは一単語を使うたびにデータベースを呼び出す他、更新のたびcommitをしなければいけないので処理の効率性に欠けます。

その事をプログラムのアドバイザーに相談したところ、データベースを一度しか呼び出さずにしりとりを終わらせるロジックを考えてもらいました。

f:id:fb_yys:20171025010622j:image

この方法は、データベースの項目をそれぞれ別の変数や配列に置き換え、最後に更新するというやり方になります。

これで、データベースを呼ぶ度に処理が長くなっていたプログラム構文が、随分とまとまりました。

これからは、もっと物事を置き換える思考を身につけていきたいと思いました。

それでは。