こんにちは、今日はpythonのquoteモジュールを使って様々な著者の引用文を取得する方法を学びましょう。
ランダムなキーワードを生成する
様々な背景から引用文を得るために、毎回ランダムなキーワードを生成し、プログラムはそのキーワードを中心とした特定の作者の引用文を返します。
任意のランダムな英単語を得るには、random_word
モジュールを使用します。
random_wordモジュールは、単一のランダムな単語またはランダムな単語のリストを生成するために使用されます。
インポートしてもエラーが出る場合は、pip
コマンドでモジュールをインストールすることができます。
まず、以下のコードを見てみましょう。
1
2
3
4
|
from random_word import RandomWords
r = RandomWords()
w = r.get_random_word()
print (w)
|
ここでは、モジュールから RandomWords
という名前の関数をインポートし、単語を抽出するのに役立つオブジェクトを作成しました。
その後、作成したオブジェクトに get_random_word
関数を適用してランダムな単語を生成し、変数に格納しました。
このコードでは、英語の辞書からランダムな単語を生成しています。
Python の quote モジュールを使ってランダムな引用文を取得する
さて、ランダムなキーワードを手に入れたので、次のステップは quote
ライブラリを使用してキーワードの引用文を生成することです。
もし、ライブラリのインポートに失敗した場合は、pip
コマンドでquoteライブラリをインストールしておいてください。
次のコードを見てみましょう。
1
2
3
|
from quote import quote
res = quote( 'family' ,limit = 1 )
print (res)
|
ランダムな引用文を生成するために、quote モジュールの quote
関数を使用します。
quote関数は、引用符を検索するためのキーワードを必要とします。
また、生成される引用符の数を制限するために limit 値を設定します。
しかし、出力を印刷すると、次のようなものになります。
[{'author': 'J.R.R. Tolkien', 'book': 'The Fellowship of the Ring', 'quote': "I don't know half of you half as well as I should like; and I like less than half of you half as well as you deserve."}] |
この理由は、引用関数は辞書のリストを返し、各辞書は特定の引用文に関する情報を含んでいるからです。
そこで、辞書から引用符の値を抽出することにします。
これを行うには、以下のコードラインを使用します。
1
2
|
for i in range ( len (res)):
print (res[i][ 'quote' ])
|
ここでやっていることは、リストを走査して、それぞれの辞書の値について、 quote
キーの隣にある値だけを表示することです。
これで、次のような出力が得られます。
I don't know half of you half as well as I should like; and I like less than half of you half as well as you deserve. |
ランダムな単語を使ったランダムな引用を取得する
キーワードの生成と異なるモジュールを使った引用文の生成について学びましたので、その両方を組み合わせて、特定のキーワードに応じた引用文を生成してみましょう。
そのためのコードを以下に示します。
1
2
3
4
5
6
7
8
9
10
|
from random_word import RandomWords
from quote import quote
r = RandomWords()
w = r.get_random_word()
print ( "Keyword Generated: " ,w)
res = quote(w, limit = 1 )
for i in range ( len (res)):
print ( " ,res[i][ 'quote' ])
|
そして、結果は以下のようになります。
Keyword Generated: fenman Quote Generated: The fenman gazed at Wimsey with a slow pity for his bird-witted feebleness of mind. |
この記事もチェック:Pythonでstringモジュールを使ってランダムな文字列を生成する方法
まとめ
本日は、Pythonプログラミング言語を使って、ランダムなキーワードとキーワードの周りの引用符を生成することを学びました。
複数のキーワードに複数の引用符を生成することもできますので、ぜひ試してみてください。
お読みいただきありがとうございました。