40代塾講師の「ほぼ独学プログラミング日誌。」12

記事
学び
『プログラミングで切り開く、新しい未来♪』

こんにちは!
塾講師のdainarです。

さてさて、前回まででひと通り”ザックリ”とプログラミングの学習をし、モジュールのimportまでを終えることができました!
ここまでついて来てくださった皆さん!たいへんお疲れさまでした〜♪
で、と、いうことは簡単なプログラムなら組み上げる基礎ができているということですよね?

目次 
1. 「俳句自動生成」プログラム
2. サルでも分かるプログラミング基礎のキソ(2巻):Pythonで俳句ゲームを作ってみよう!
3. リストとformat関数

「俳句自動生成」プログラム


私いちおう塾講師ということで少しでも教科に関係のあるトピックを取り上げたいと常々考えています。
なので今回こちらの

サルでも分かるプログラミング基礎のキソ(2巻):Pythonで俳句ゲームを作ってみよう!
川瀬出版

を参考にプログラムを実行すると、自動的に俳句を作って表示してくれるものを作りたいと思います。
ご存知俳句は「5・7・5」の短い文章の組み合わせで必ず【季語】を含めるというルールがあります!さらに、ただ文章を組み合わせるのではなく、読んだときに意味がわからなければ、それは俳句とはいえません。

筆者いわく

「人間が読んでわかる文章かどうかをプログラムに判断させることは、実は結構難しいのです。」
「例えばですが、『助詞は適切に使われているか?』『季語をあらわす言葉はどうやって判断するのか?』『人間が読んだときに意味が通じる文章とはどのような基準で決めるのか?』細かく考えていくと色々と難しい問題があることがわかります。」

なるほど・・・
これは簡単にはいかなそうですね。
まさしく今流行の?『AI』を使わないと無理ゲーなのでは?
プログラムの基礎の基礎を学んだばかりの我々にとっては荷が重い・・・

そう思っていたところに

「思い切って文章のチェックの部分は取り去ってしまいましょう。短い句を組み合わせて”それらしく”見せるようなプログラムを作って行きます。その方が意外性があって面白そうです。」

まさに『発想の転換』というやつですね!
俄然”やる気”が出てきました〜

リストとformat関数


では、さっそくアプリケーション→Python3.9→【IDLE】を開き【haiku.py】というファイルを作成してから

haiku1.png

まず import random で「random」というモジュールを読み込んでいます。
kotoba1 というリストを作り、” ” で括って(文字列)有名な俳句のコトバを8つずつ記述。
randomモジュールのrandintという関数をつかって「0〜7」までの8つの数字からランダムに数字が選ばれる。
※リストには[0, 1, 2, 3, 4, 5, 6, 7]という風に「0」から数値で番号がふられています!


選ばれた数字に対応する文字列が「kami」という変数に入る。「0」だと「古池や」「7」だと「春風や」
※以下 kotoba2 → naka、 kotoba3 → shimo も同様。

print ( ‘{0} {1} {2}’ . format ( kami, naka, shimo ) )

{0} ←kami  {1} ←naka {2} ←shimo

というように kami, naka, shimo の文字列が代入されて

haiku2.png

上記のような文章が作成されました。

夏草や そこのけそこのけ 法隆寺

なんて最高ですね♪
何回か実行するうちにとんでもない俳句ができあがったり・・・
おもしろい俳句ができたらTwitterに投稿してみるとか?
皆さんもオリジナルの”俳句”をつくって楽しんでみてくださいね!
では、また次回!
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す