<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: choice code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Fri, 25 Jul 2008 05:26:57 GMT</pubDate>
    <description>DZone Snippets: choice code</description>
    <item>
      <title>Using random module</title>
      <link>http://snippets.dzone.com/posts/show/1644</link>
      <description>&lt;code&gt;&lt;br /&gt;&gt;&gt;&gt; import random&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt; # 0.0 &lt;= float &lt; 1.0&lt;br /&gt;&gt;&gt;&gt; random.random()&lt;br /&gt;0.41360177662769904&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt; # 10.0 &lt;= float &lt; 20.0&lt;br /&gt;&gt;&gt;&gt; random.uniform(10,20)&lt;br /&gt;15.743669918803288&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt; # 10 &lt;= int &lt;= 20  (can be 20)&lt;br /&gt;&gt;&gt;&gt; random.randint(10,20)&lt;br /&gt;10&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt; # 10 &lt;= int &lt; 20  (even only, coz step=2)&lt;br /&gt;&gt;&gt;&gt; random.randrange(10,20,2)&lt;br /&gt;16&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt; # choose from a list&lt;br /&gt;&gt;&gt;&gt; random.choice([1, 2, 3, 5, 9])&lt;br /&gt;2&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt; # make a list into random order&lt;br /&gt;&gt;&gt;&gt; cards = range(52)&lt;br /&gt;&gt;&gt;&gt; random.shuffle(cards)  # order is random now&lt;br /&gt;&gt;&gt;&gt; cards[:5]   # get 5 cards&lt;br /&gt;[37, 14, 42, 44, 6]&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Mon, 06 Mar 2006 23:04:16 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/1644</guid>
      <author>korakot (Korakot Chaovavanich)</author>
    </item>
    <item>
      <title>Weighted random choice</title>
      <link>http://snippets.dzone.com/posts/show/732</link>
      <description>From Kevin Parks's &lt;a href=http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/117241&gt;recipe&lt;/a&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import random&lt;br /&gt;&lt;br /&gt;def w_choice(lst):&lt;br /&gt;	n = random.uniform(0, 1)&lt;br /&gt;	for item, weight in lst:&lt;br /&gt;		if n &lt; weight:&lt;br /&gt;			break&lt;br /&gt;		n = n - weight&lt;br /&gt;	return item&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Usage, similar to random.choice but must specify probabilities.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&gt;&gt;&gt; x = w_choice( [('one',0.25), ('two',0.25), ('three',0.5)] )&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;</description>
      <pubDate>Sat, 17 Sep 2005 05:41:27 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/732</guid>
      <author>korakot (Korakot Chaovavanich)</author>
    </item>
  </channel>
</rss>
