一首诗 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?
In Python 2 you can compare any 2 objects, for example an int with a string. The result is arbitrary but consistent. In Python 3 if the 2 objects aren't 'compatible' you'll get a TypeError at runtime. BTW, you don't need to put parentheses around the conditions in 'if' and 'while' statements. Python isn't C, etc. :-) -- http://mail.python.org/mailman/listinfo/python-list
