On Sun, Nov 22, 2009 at 4:03 AM, 一首诗 <newpt...@gmail.com> wrote: > I used python to write an assignment last week, here is a code snippet > > #================================ > > def departTime(): > ''' > Calculate the time to depart a packet. > ''' > if(random.random < 0.8): > t = random.expovariate(1.0 / 2.5) > else: > t = random.expovariate(1.0 / 10.5) > return t > > #================================ > > Can you see the problem? I compare random.random with 0.8, which > should be random.random(). > > Of course this because of my careless, but I don't get it. In my > opinion, this kind of comparison should invoke a least a warning in > any programming language. > > So why does python just ignore it?
It's an historical anomaly that's been rectified in Python 3, where such non-equality comparisons between unrelated types *do* now raise an error. Cheers, Chris -- http://blog.rebertia.com -- http://mail.python.org/mailman/listinfo/python-list