LoginSignup
0
1

More than 5 years have passed since last update.

Python > random > BookRecommendation_180307.py > random.choice(), 標準ライブラリのrandom.choiceとnumpy.random.choiceは仕様が違う

Last updated at Posted at 2018-03-06
動作環境
ideone Python 3 (3.5)

code v0.1

from numpy.random import rand

langs = [ 'Python', 'JavaScript', 'C#', 'Java', '.NET Framework' ]
langs += [ 'JQuery', 'Unity', 'Raspberry Pi', 'Arduino', 'FPGA']
idx = int(rand() * len(langs))
print('%sのおすすめの本を教えてください。' % langs[idx])

val = rand()

postfix = 'あなたが興味が持てそうで2割程度分からない本がおすすめです'

if val < 0.9999/2:
    print('本屋で本をかたっぱしから見て、%s' % postfix)
elif val < 0.9999:
    print('図書館で本をかたっぱしから見て、%s' % postfix)
else:
    print('')

run
JavaScriptのおすすめの本を教えてください。
本屋で本をかたっぱしから見て、あなたが興味が持てそうで2割程度分からない本がおすすめです
run
Unityのおすすめの本を教えてください。
図書館で本をかたっぱしから見て、興味が持てそうで2割り程度分からない本がおすすめです

(実行ごとに結果が変わる)

背景を知らない

「おすすめの本」を聞いてくる人の背景(学習歴、興味)を質問を受けている人は知らない。

背景を知らないアドバイス

背景を知らない状況でのアドバイスは間違ったアドバイスになる。

そのアドバイスを受けた人は、アドバイスの内容に合点がいかず、「xxxさんのアドバイスは不適当だった」と思う。

それは当然と思われる。

自分自身が背景を知っている。

自分の背景を一番よく知っているのはその人自身。

あとは興味が持てそうな本を探して読めばいいと思われる。

by ウォルト・ディズニー

好奇心はいつだって、新しい道を教えてくれる。

別の質問方法

「xxxさんはこれまでどんな本を読まれましたか?参考程度に知りたいと思います。」

その本のリストを作って、本屋で内容を確認する。
「これはすごい」と思うような本があれば、購入して、買った日から読み進める。
1冊読みきるのに85日(例: 計算幾何学 by 杉原厚吉さん)かかるかもしれない。それが本当に良さそうであれば、その日数は無駄にはならない。

参考

謝辞

@shiracamus さんにrandom.choice()とその関数の仕様違いについて教えていただきました。

情報感謝です。

0
1
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1