Pythonでリストからランダムに値を取得する

リストからランダムにアイテムを選択する必要があるときがあります。

ランダムに名言を表示する機能とか、広告を表示する機能とかが思いつきますね。

スクリプト

import random

# 名言集を読み込むよ。
f = open('名言集.txt', 'r', encoding='utf-8')
line = f.readline()

meigen   = ''
kaisetsu = ''

list = []

while line:
    line = f.readline()
    if line.startswith('■'):
        meigen = line
    if line.strip().startswith('*'):
        kaisetsu = line
        dic = {'meigen': meigen, 'kaisetsu': kaisetsu}
        list.append(dic)
f.close()

# ランダムに名言を表示します。
item = random.choice(list)
print(item['meigen'])
print(item['kaisetsu'])

これを実行するとランダムに明言を表示してくれます。
名言集のテキストファイルは各自で用意してください。

名言集のフォーマット

名言を■で始まる行に書いてください。
解説を*で始まる行に書いてください。

他にも書式はあると思うのですが、これを名言集標準フォーマットと名づけました。

システム開発

Posted by @erestage