- くだすれPython(超初心者用) その26 [転載禁止]©2ch.net
161 :デフォルトの名無しさん[]:2015/06/15(月) 15:50:40.17 ID:23esbdI0 - >>158
import random def get_random_abc_smart(random_abc): r = random.random() for name, value in random_abc.items(): if r < random_abc[name]: return name r -= random_abc[name] raise ValueError() if __name__ == "__main__": random_abc = {'a': 0.1, 'b': 0.4, 'c': 0.5} for i in range(10): abc = get_random_abc_smart(random_abc) print(abc)
| - くだすれPython(超初心者用) その26 [転載禁止]©2ch.net
165 :デフォルトの名無しさん[]:2015/06/15(月) 17:11:38.07 ID:23esbdI0 - 確率なら私は、>>161
を押すけど・・・ 何これ滅茶苦茶になってる。 書き直し import random def get_random_abc_smart(random_abc): r = random.random() for name, value in random_abc.items(): if r < random_abc[name]: return name r -= random_abc[name] raise ValueError() if __name__ == "__main__": random_abc = {'a': 0.1, 'b': 0.4, 'c': 0.5} for i in range(10): abc = get_random_abc_smart(random_abc) print(abc)
| - くだすれPython(超初心者用) その26 [転載禁止]©2ch.net
166 :デフォルトの名無しさん[]:2015/06/15(月) 17:18:53.77 ID:23esbdI0 - 3分ルール。
3分以内だから書き直して良し。 import random def get_random_abc_smart(random_abc): r = random.random() for name, value in random_abc.items(): if r < value: return name r -= value raise ValueError() if __name__ == "__main__": random_abc = {'a': 0.1, 'b': 0.4, 'c': 0.5} for i in range(10): abc = get_random_abc_smart(random_abc) print(abc)
|
|