星田オステオパシー

能書きはエエから早よ書けって 作詞支援プログラム04

前回までのあらすじ
 もはや必要とされなくなったけど復習のために作るか・・と決意を新たにしたんでしたね。あとHTML調査の必要がなくなりました!


Cametan42さんのアドバイスによりGooブログエディタで必要なHTMLのタグを探ります。おお、文字色だけじゃなくて背景色も指定できる!これが欲しかった(^o^)


こういう感じで、色つけが行いたい。テキストは1行目をタイトルとしてそのまま表示。二行目から行末の単語のみ母音ごとに色をつける。aeiouの順番で赤青黄緑桃とする。ま、ゴレンジャーです。ここで赤青黄桃緑とするかどうか悩みましたが・・。ミドレンジャーが一番好きだしね(変わり者)。



HTMLを見るとこういう感じ。この形に出力できれば良いんですね。まあ、やり方は頭の中で浮かんでるんですが・・



折角ですのでアドバイス通り今回は辞書形式を使ってみます。これがダルいw


これまたアドバイスをいただいた if__name__ を使ってみることに。解説を読むと、なるほど・・直接実行したときだけ起動するのか・・確かにアプリっぽい挙動になりそうですね(よくわかってない(^_^;))。はっきり言って関数を使うのも初めてなので、どういう時に関数を使うべきなのかがはっきりしないんですよね。何でも関数にすれば良いのかな?



で、リスト内包表記とかをちゃんと使おうと思ったんですがw
行ごとにリストに読み込んで→スペースで単語ごとに別のリストに入れて→最後の単語だけバラバラに分解して→その中から母音を抜き出して条件分岐でタグをつけて・・
ってのを内包表記でやる方法が分からーん!ということで例によって「なんとか動いてくれれば・・」方式で書くことになったのでした。
ちゃんと勉強してなかったので辞書の値を使うのに混乱する{}で作るのに[]で使うとか・・なんでやねん!

あと、リストのインデックスが0から始まるのもFor使う時に混乱する(今更)。なんか理由あるんだろうけどな~・・




なんか条件分岐がうまく働かない。色々とやってみて == "a" or "A" の書き方が問題だった模様。そりゃそうだw もう面倒なので小文字だけにする



こんな単純な流れなのに思ったような値が出ない。数日サボっていたので一日で決めたる!と一気にやってしまってるので途中の変数内部のモニターをしてないのを後悔した



で、ようやくPrintをぶっこんでおかしいところをチェック。その後、リストを分解していったのを逆の流れでつないで行くのだが・・・

ボーッとしてきて結局手書きで整理するというw




またLenからのFor文で回して、前回のファイル出力部分をコピーして(4時間くらいやってルンで・・(-_-;))、ホラヨ!どうせうまく行かないんでしょ!



と、出てきたHTMLをテキストファイルで読み込んでコピーして



GooのHTMLエディタにぶっこんでテキストに変換・・



と、ファーッ!?うおお、一発成功!狙い通りの結果になっとるがな!
ま・・だからどうだって話なんですけどね。この先があるとすれば、条件分岐をやった時にまた新たなリストを作ってooeiとかってパターンを記録しておいて、辞書検索プログラムにわたすってくらいかなぁ・・

実は、ネットで調べていたら英語辞書ファイルの特定の項目を読み込む方法を解説してるページがあり、更にPythonで「類似性」で検索するアルゴリズムと実装サンプルも発見。辞書データには単語と発音記号もあるので、発音記号の類似性の高いものをピックアップするというプログラムが出来るかも知れない・・次回からそれに挑戦しようと思います!

続く

あ~しかし結構たいへんだった。けど、ちゃんと出力されたときは今回も感動したなぁ・・それとその場ですぐにフィードバックがされるからだと思うけど、気づいたら思わぬ時間が経過してたりして・・ちょっと最近無かった事なので驚いてます。

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「プログラミング」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事